{"_id":"@accordproject/ui-markdown-editor","_rev":"288-81b6e7f037e3a46114113d180fb3d080","name":"@accordproject/ui-markdown-editor","dist-tags":{"latest":"0.97.0","stable":"0.98.0","unstable":"0.98.1-20221115143348"},"versions":{"0.92.3-20200604205904":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200604205904","_id":"@accordproject/ui-markdown-editor@0.92.3-20200604205904","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"a18d75ae60f904d1b9087c91d3bf32659667386f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200604205904.tgz","fileCount":4,"integrity":"sha512-ZksTWempDJYrPTUi4BGxc2+GJ6/hwMkEg3nRguiDB0VvqahzjEdqwdP9qSfZzxenT1rKh0eKQajxCTwlbES+0w==","signatures":[{"sig":"MEYCIQD0gUoeDKfXH/TfAZ/Z1WbCU4iyScG/fmLgiHdD2FHHLgIhAKt68uCVyNAhnM+NUveeHWZ/MU8/uhZUWLSM3oHroF/O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe2WCjCRA9TVsSAnZWagAAf/EQAJ4bOVzlW5IrDgpX0gsJ\nvcP42BR/MM0jENwF9E8yCy0BSVOFNgDbkli8WmPAhtwK8EN8iXwY489DdIOe\nYbpmCP4YTGw8EKk/YrA4e+LeXohnONFBvr1WS5CWp5JU14O2D1TvXwoE/9is\nwjteQyClL6gVdG11aaUBzomvyvUL7KoLpmBKhygPvQmJ6Cp7VPbRilrBkEZf\nJIqICbxmoxfCpFHzUExr7I8h+d61J0ul3k4zSkwBa5ayb0GCA++bAydYgCs3\nZIEDE8cFHF/lI1WfSQb0klrGqONVO0H2zgcIDGBMyF61B9YREd6GmLnyeMPb\nj/ENKItkyZ4kkm3yFf6kwi+FJTi77rXEG3is7TAlZK5wVLCMziSDL87XU1IW\nKvWZp0VbeXZjzVie2Z8Y9eAR9tna6413PlrSQ0tsLYO4Hd5dXZdVwvDc4ErB\nel0dV6nzY70NTc0xdMh1jZjgouOMroFQ48Gf4YT6O6UXX4W2ExJ5zJpOwV+F\n433cpC5GykKVdOwjFUeHzNY7SC5HuiLX0QXX990wo/mOJWqwDA1Fd2Uuye55\nQHQj2aJXXLX8g8SEvRmoN0XzBQNKj+8B/v5JF8PeKPfpgbcVaHIDfSC4IkZ+\ny2CjehbCAOlUImWAmJnltDCZO8OSlJf2BdFz2nUloGScFLOSTkllmAssAlZ3\nAivr\r\n=BnoX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200604205904_1591304352638_0.46242168371904335","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.92.3-20200608133956":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200608133956","_id":"@accordproject/ui-markdown-editor@0.92.3-20200608133956","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"8836b35a5ef531ecef6f353f225a675da0b90730","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200608133956.tgz","fileCount":4,"integrity":"sha512-VmE7iZ5GcQlSxSB6PBnXclGS4MujnhFqRPhJ9F0CUFOO7CaO47wSEyKcOZR4mXV/Zru2gLeEzGEM32A0thgSfw==","signatures":[{"sig":"MEQCIAlubfAluKipw+cs8PMNLdcEDm+Z51aeHPLroGmHH3mLAiAVl1Btm2cyFP7E2JLREDLzCafepnvvTxjvo60AtwOxvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3j+yCRA9TVsSAnZWagAAsP4P/iuV9vTrA72jkHQYF74B\nliXiMponXm17m1dp8/0KsjOAyiR36ETQY1/MJzYyKXG50WR92O0l2tM0kR3p\nO4lbm+uHlDfuClon10e8CYmnwSKOVtGfkkx45CEX++JiTOAVW2hAtkawwsqY\n6z+/YK9Vc3S2BC78TwB0ew2j8pg5x8b9/hK1fRT2681GXMQPmWUduId/3Vi+\nH8YIYSG7OTWT1GP0WtEm5eK7E7VkHJviWr+C97cUBUYNU1L0t2UVtGEuQQgD\nzqqWNW+nnpUGWGlZV+iE/NYiVzxl4iAZ6r1V4CTfgjEZ+WduZLp9idNsvK5p\nk9mpSV+cpj+qNyNrme61HyVYg99FcSoH5TywnZfujzQuM+IEQ8pqfsN1A+io\nGMvBLqikhL1pmjOr4o8N1ECJiYPgcgpPMZR4PwAt7f8jNZn2KjGurQlFvoWq\nNo2HS2Maa3ODPmZtMNw12wmglqtktLiRB0wILfUgxttBBfo4GTsE2VlwIQAA\nlE+RNXiv884AS6GYCdHp11H0P7UbHf84qBUXni/Tj7sUkSvMAxX8aRLW5JmY\n0LMaQ1s/TesLyDHqid5gGfjCMHCiyV96Cx/WdFprKow9Zmdlv6YWbfSZ1Xz9\ndhlh4+xbQMG68VWapH2Zr3FF8EtIUOFVMLxH5ie6GF4LzPCuV1auiqPoarxM\nEqnH\r\n=qKLh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200608133956_1591623601773_0.304978662710395","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.92.3-20200608153758":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200608153758","_id":"@accordproject/ui-markdown-editor@0.92.3-20200608153758","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6c833600ed93eb94bfb94d2c2782c15bc074fdd7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200608153758.tgz","fileCount":4,"integrity":"sha512-M/ORot8uE7PjmcuwNatJk4HdC8E+wGK4aa9dw8FwlY6lDJHqUsOskwef+95aiHPgbfx70nteHJwRmXzWAnEeKw==","signatures":[{"sig":"MEQCIGb+Ty9KEL3FSItrS8Ekk9U3yMM1rpjBsTaBeZUFIuNvAiAlytEBqy3T6TpCmsjyeh2keT6TVqrDHlesSzYuaagjkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3ltnCRA9TVsSAnZWagAAPs8QAJPE1A/5z0YPKYhYE2Jk\nHFebgMpHl37UHKc8sQCZeY8G/t44ICBj6rRoZekjRbp+qi3SkIOCCvgsBYBg\nonpMXsv0gDzGormlVeOB2BT9IJZlBFps4btfzYkeTpsTr9Xn++D1FqtdOuu8\nMIozJbg0bArFyolRhjpHHq4MkxdDx3acAVZEUyydA/GFRgCJQrn6pL4e1/R6\nTuropCwZzw74OYaxsM0QuXDB/bC4ckP4XNz+jHnW+mcOqUoM8YSsxcwtsFse\nBnZq4hhxo0QXc0gWbzEe8WY/u9Q3gSNJP5/T513VNuDtbZYZ49dyGPjK8WYy\n1/pCLFQrPIygEE+zhkKvj5HghvJjgmUZd0oFMozt16sZ0EqlrkBb8SC6C+hO\nVF/DB9ZjcnHijKnr/5s1Uvct621HREIszd0SsP0SagemgEcNc4OPfORdx/el\nhnYWgakj0RS4Bx6WRuFrGelVLF0K/q4bBZYCVL5TLXehZ9hQqMl5YRojROJz\nTLQo0URGP8ypA4pQzsTOKkV+VbEmBkbouY8x0Ld7LdID2vINFiLIwA6Kd1wa\n1z5mgRWXhyQV2pQRHVq4HVL4k8NF5+7qR0Cn0hsoKvlYYLZtywF+F1266+8H\nBFnaYSxy6DiWGyMW+BfhUbYyaGDkrzKVrMX7tW7CAx1ABrU/GF4vgYfXbW6L\njtP0\r\n=quj/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200608153758_1591630694735_0.9895557702393816","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.92.3-20200608155253":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200608155253","_id":"@accordproject/ui-markdown-editor@0.92.3-20200608155253","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"c0feb4e9cf55d3ebc5675c4dc70e2b0eae5909ff","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200608155253.tgz","fileCount":4,"integrity":"sha512-5RixikBzidRUzkKRwMwBdWpxEdKMq5/OYaE44FCRwoilxUG1jdUxo7V0YscTNP9IMjeqy3f2kfRLTQhQVDDhGg==","signatures":[{"sig":"MEYCIQDmAGlCiJPdarghPagjAV9eS/Ea/3NBeV5UqJiazN7zMwIhAOUOPzf/JXzgVVrARmFtdPZgj/OiLu9yHp9gyUhg8IPc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3l7dCRA9TVsSAnZWagAAin0QAIOs009g1EWtMpvSAt8Z\nQjtBmKuTnBRcPdWQrn5N0uCLqNl53++sWQfJFhEMDsunz1pq812dp1dnVThz\n0R/aANcEardL8zKDZ/Ko9Ne045C8Znl5CqXFd3JJeozTBoDgbjCgxHzKv/8T\nN32eYhogVOjj5eq/Dik1KwPyjs3e0VED/v647LPvcePBnK5i750//0hUhibB\n1ZYRbxgXOK74lSMTUa7O2wJfmooPm2v9OJjsctYbMQBPkUX7tP65rrPEn9wT\nAO6gKWlwwrKy9rAUVZsdJ5ZGnEYHFoMKyI8ZGfFlS+H9vPhUg+0sZUirVFqu\nPHLM6ZfmQP0p48DXsJrjPcJIIng1mLwXG2yxhxZ4Z/HPQgGUxRPRz7aE7WKP\nJzKpzXYmmSZeRJhNIsAnyDqKN7gpVhVxjCTuyhAp0oSZ4pJ1OiCQ3imBxK6c\nHq8t5q3R0jUPjq8RV2cok9nYsKEnAHvsjP+4OmWvlU+1JQ3N/X1IhPDgXsGi\nekBRhd1fgX2bkE5b0cxQVhqdTE52nokY9iXu8d33xH7cqYwhF/3gUkSgMXUt\n/Q8V5P/m6VepVKU36+LN/F0IjRFpua5pXAUOzy2M2FTux2mQvOuiEoDez9Mq\nMe0dcX8YX+bkji5AcreRRYLCk9vZq2awS1zDt28O1o7TjsQpEel8tdxBtkel\nIsTT\r\n=N9GV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200608155253_1591631581436_0.5861850749189281","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.92.3-20200608164356":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200608164356","_id":"@accordproject/ui-markdown-editor@0.92.3-20200608164356","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"adda017d041fc754241e8684334fa18ffffb7e73","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200608164356.tgz","fileCount":4,"integrity":"sha512-Pa5LoCyAnjD4v8T3M9Wt80q/X2R8fqXcLVzTC5lUlfV444jDe0fBejwKTyHZpZ3GX3ZLNmHe6Yg/yPOtH9aF2A==","signatures":[{"sig":"MEUCIFJmk8D/0b2Eko7Gj0/m1y1GvNUSCWMNbvKDJMJS+2AxAiEA2pPewa3JE3iu8oVLz8jm67Bwdt/efWI726hXBtMe70U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mrSCRA9TVsSAnZWagAAFccP/AhQyrFKQvODFDUYdjQH\nXISddnfT/Pzm28F0BRrVV5ZT9EikNGm5ZYRX68yBwFQSNr3W5ZWAW+tjLZaJ\nArVa0gceEYnlqkob+dvAuyfnxGUqA9/joYJi4ML0/7ri1bbqWAkp2+vCxUvH\ngpucGIhQDSJ2zFE7m1/iZtGksbYzRcNnHpXC+CzgcTS1jFAnVcMM0JAjtPty\nNZIsaLU/5qUy9IDKIJO+PgMLhP+GZQO8+Vux8YNhDpstKsn/cX4SXO4iXxDS\n8UgMfCY8mkxohh+wtp6SWIAULIY4bqV+/DuLhdS+y8SZStry8E5Zb1riRtRq\ni5uVtxNjZvELcqe5ixtj+S/7fT5N5HbBvaKESMZSIiETHXoQzn5INGUNVh5K\n9XnRDTSFr6Mu+6BYpBFbCMvhMU2KBJbfFHhoSBVHM67+UzpUXcIivZqR3ENU\nCM8jwI5RGQDvd1vdO7Ic+7gdNSbtUxHMllN+s/eUFyMosGyKsmcUbKPahA6b\nb596i/qjTBzOS1OCsz5VUslyUYWNXTJq3hZ7w24LiALVUKoU/91/j1/MPu+s\n7XPwO72p50eyndyQNCNCZHOSZfOtAq2BwcBHAarDgoOlVkp3p6ATRHw/NBYS\n38b8OBPV9kBpkeBukzXhSCefBMjmSuPICvEIc3YeAvtoeuEvDL1DcjUD3+sd\nLe1C\r\n=ekUs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200608164356_1591634641416_0.08574655193718161","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.92.3-20200608165221":{"name":"@accordproject/ui-markdown-editor","version":"0.92.3-20200608165221","_id":"@accordproject/ui-markdown-editor@0.92.3-20200608165221","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"b38451b753983a2d8188431fa6ba60ffafb1f9da","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.92.3-20200608165221.tgz","fileCount":4,"integrity":"sha512-1BsSavuuVutQmCA9c5+oq/4SUbsCI9m0GBaeSZwhmBTX5cj2fAcA//oVu90/wf3HVOzmzOYF5Jpfeq5lJD0iYQ==","signatures":[{"sig":"MEUCIBADqlJZIHwr/GckbiNR4SU3OMZrudXtqxmUDMCz/9oCAiEAxl4GSuyQ3sqcqSiZe1EGzFJodFqj6qcPNusje62egWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3mzPCRA9TVsSAnZWagAA/LoQAIUBgnhjCt040uYccShC\n4eBcFYbD5gimUt3jhlA3MYwV1U697x8vtIpCTfi65npwWeqgr5y0AIzU/sAR\nxKfuxMyh+vd0R9GsL27eS6MVT/I5emz2DKLkorqUkL57wuKD9OVVnCsNfh5X\nFJJ/K1iBj8zoBt4RDrvj0UVS+AlkKMkE+qH80ZWUSoe3ozMtBJcXY/GZoxYo\nzr8X2V9mf3wadtmYYX/oLGu4QdRfI6bijyWRQS04fem7fKfGSffgnNwkBomP\nvtv5YvmLJpmogqCoVLCwTGRBP/UcMnPRUy8lWukINWSxgAE802PeThGvHrrl\nntjktR1a+CO53eRSgooWMhPoD5dRz2VNkKJAi2hy3erSwiIBDXaS7e8OUtXO\noIqrydoJZK60Fqb9d7cIFcwG/M7G7jmOXzK5uSi1CK1GgBDCIuM4FekQgJjp\nz68Dc/9eYysDOM7tc2790lfV+3oIpt0WkyGqCVKvJw99/NgDgYCLCLT57WVI\nWHuVILzTeEbzkvj5hXCkZ11HA1990uUXGewU+fo7y6brGp3O6a9ocu+ROSsE\nUeQrmWb903b6qmUZOibXOD2WgV2vRwHES74gAIBc3eqaX/kVW8Igbx45qAMy\nqrLJtiiOA5Cd1D2c2kDXYEBL4jsfV0T+GUGQn6ccKrLh19y9oEcIgxEvI3EK\n+dh5\r\n=9zuA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.92.3-20200608165221_1591635150654_0.36233349332458165","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.0":{"name":"@accordproject/ui-markdown-editor","version":"0.93.0","_id":"@accordproject/ui-markdown-editor@0.93.0","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"2dad208a90179281df5f7af4154cd92b2e87106c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.0.tgz","fileCount":4,"integrity":"sha512-+nZzYWBf8tvt3zKUFZjH0wK989Qe31BWDRszUCyEO+CMgYjspuYmEaGs/TOWXMLSGIAw90OQ0lGNoqRLK8kOZA==","signatures":[{"sig":"MEUCIQDtMUQI2rVLmnYb1dZfEN3n3xjX/t8rmpzziFL9PDS+SgIgI6H1a6Dp4VEbbrj+KeKyMRH2Z3FTrj38x2YgcAs6T9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113405,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3ohrCRA9TVsSAnZWagAAmrkP/33QricUy7IDoy9W46ym\nKBgq9zHlmbgrlB4rQPaAoa1REgsd4u0/sutfaK+OaLb7T3Qf2R/SVgfOMQ0I\nWzn+J4S5KDF5IKJt49UGHoZkl3EU2bO4modvwavvtyOiP4D9uQz1Y2gs6CZi\nfIXhv1cCRgzbLrNc3C+Cb5H4ylW3e4r1qv9mNmHAn4TYByyyrTukCH8HQmRm\nLPKVIwXLHLX/2d/nfjFsSm6R/KxoeHNEl0btlvWr3a5lRi8FbsFiIj+gReJk\ncjsZ6CaJlmZA7M/e42Bmq7jR4QIDdl7h6OWcqLtIZ94u28+gVywlm6zfzERO\n1RmYFAQGcxL+hrTYIXSP9ww8sjU0fGa5tdKq//ZVzIp/MG7b/YZg1qZwaa+o\n1vGdVbCIQczQfLfS5wYk75w+2KKlI39CGI6MVryqRzJ3Z/jIK2psgubSi3YX\njUrioLlvVwoxAPs91xrKL9nFZyD+9QpAGE94TvmlyBEri+xeNHvmAf0g7/B0\nQCDQea7pL7r9qt+WAqcP3STPj6oUiifUiqYM6j44qTLNwRnecBDYeNXZDjyD\nnZzp8gHXOfTyL2C5I9tSbFeBafUjVvVt9qGDXyUFtzcs67NnUpGZzszvE+Wj\nJvOl+Jlq39jKXwBiqpZdZZb0xa3u8RlI9/YgDsrgAMx5wZkOn/3c28qnaVzM\nQZ5U\r\n=scGF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.0_1591642219449_0.3647708605265567","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200608185432":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200608185432","_id":"@accordproject/ui-markdown-editor@0.93.1-20200608185432","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"fab55956b9823277468f893a35f29e1285e351e7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200608185432.tgz","fileCount":4,"integrity":"sha512-ehv8hFvpxmQ62JJoynJlYoC2y86JWSnLR/jGmeFOfqH6+UP78pFnTAKNyFlR8ljT260DqrCPAu6s27GS0+bt0A==","signatures":[{"sig":"MEUCIHmf9iufqdbw3pYU4NZRH1IhvAC8uuJbLjmCK+nv5UXmAiEAmPYvKPvZ0+46Fm0zrZQBUd3s/cEvTgHDSExl4KNjiic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":113420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3oluCRA9TVsSAnZWagAAmhUP/RUSvWl3Ki/487AMuFEg\nL7EHcAvSRDIz/8XnHtjcT7T4zqKyPt/4XmWhtrAc3UkBCxhlvV9BBXoTFzv0\n4OkqxJR2iVhVpuLwdPadZ/VLB7qghRx2Pv2naHFICbKgyx32anzYrawUcPib\nqQ1n5eAaOwQADIyYiryy0Zyssu4yxfDtmzN0pDMZExD1GwwrU0i3iScrwK26\ntkxA0zUOhl1OMQmG7R8n5kSWJNEz5c7JfxM9UV5ThwZlNB6ELYcjuW3nN7i3\nynkfpqYYlIKnQj7fg5jyH8ICXWWOOr24ilrezCUHzhN4YgimCBVCIn7zjtkj\n0U61fPZMIGPSLxg3xyU1FO/CW6OSnmRSEWSQlZFjQvd1kcCGy9+rM7czACfj\nIS5HS++KjcQidhj4zsV8xtyYWoA3K8WgBuiY1bH4+atBLUwUfV6LprvJkplB\n3XEqDPsIbIbcT284fiUroLk3i5kvcy1fEWvDq6OKbqXw09h/zAM3KbsDRiVL\nJlSWLLGy2kuA8OZNyVrOAsBvncP/L2l1t85/+qmo7ppLL9V6yX1dvcx9rPqR\nALEjUyH5XRkWadpUCMSYM0qFhsyf7L4ezj606V93iBB3EEwNGkXPtXsgR0cd\nL+bf8rkzG1DL700z8TSutlMBaX6AmdoNwdsEjW7bZujzz3tEZM/472/lSBZ8\nsgvX\r\n=Q5Fn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200608185432_1591642478182_0.9086286894894948","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200612234125":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200612234125","_id":"@accordproject/ui-markdown-editor@0.93.1-20200612234125","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"1a362dfd5a535504c26a3cfe7978937762750e6a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200612234125.tgz","fileCount":4,"integrity":"sha512-MXNvWtulaExxFzpnTKl/g0I1hs58svATAhBZm2JZTc7MPdN/xyw1kFutspVvlVcU90jJKu6MAN/MJzYOIil1Cw==","signatures":[{"sig":"MEQCIAb31qgePQ2brXKWUR3+nAeWDpIck+mUluBtOBsQQRptAiB+KctefYbNKK8zeTGG+KmT3JIMJWKdFSXEEAbMs6c+QA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5BKrCRA9TVsSAnZWagAA0j0P/jZNJPsXJlpm7HeQ4QfQ\nwaSLfC7wCTrN3x4MvGU6bo2RT9LR/OhDzyqRP8WXk0TcZdvJQ6wSRkFvZBEP\n28BUfHe4poix3bLEbG1Ro4qJfHjZpPrwEuW47q/fztDGki6Au3xBiS6j5w+A\n+x1UnugCssCBzdX1W2uV4iQmTM5YqqF+KDpcDyh5RQk9LtpHNT0i6k1nFVl+\nIsFR4kt78GfIHAMCBVUZ/5YRlx7dOSozL/dRMA5lyPG8iEZA1bf9hhWHd8Ah\niQz/nxaQDVnhH0pxifW5Nevm37NyubGwaWONHQLLFlM3XG3X0n1Bm9/U9L87\nETfNoH0zt66W7qILsV3XK5GJJGS8s9lQ5ExEd4H/1MoggnUqhTDTdabplLmW\nuLkjrJt46Tze1DC6PeaFzl7jsizbvm9aTvNCXuuiOveUhTHhW5X1pOKYiRm4\n/jesFYGsm5VAOJBNCG4h8GxKIKTZvvnfEDPlhf2Gu8sxlI2ddLrrE50rNCEQ\nO0J7dk57nYBx6uqojgvVTOEEuxPL8avMSkW+SuV6KZG6bbad/2yB8S3tVkUq\nLmFlaPEHx7Y1pIsFjD1jvvX/LwixHROTw8ebZPFM/WCufh5ArffWiGK/fpHh\n8NVkqmjGrsyD1tKXNcTnCqCzHwT///jbWMf8y9ZsoH5wVG3cXzVnxBJafSi6\n5NNX\r\n=xEAN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200612234125_1592005291189_0.9729975920464982","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200612235243":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200612235243","_id":"@accordproject/ui-markdown-editor@0.93.1-20200612235243","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7f17da14c5017d50d61d8bd2706718a28280c6d6","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200612235243.tgz","fileCount":4,"integrity":"sha512-YG5WutR/GJfYb1Agl45Y20q9Mim9KKu+2PvhBHzMr5539LrONcpdAeQS6SivZ6u5G/zqHLx10LTpdDhxYoAqMw==","signatures":[{"sig":"MEQCIA4ev2acMVwY9rTpgJ9Dx4TqMwkbVHMJNYOja13wloGXAiAFBXTeR6dvK1wWKYryBN/UH3Msigfj0V89mzFwozhXlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5BVRCRA9TVsSAnZWagAAmFQP+wfXQXoA21e9AjslI7kH\n4vN2JkGACTUru0lPOD1seI7jHDHj6Cy1ly3N5Qi1gnpTLS6vJXI4mbeI4vPc\n2WghRdY/rESB2gelWN6WKSm4zzWiJwlE/lDQblVObLTtX/uW3VPS+vx2+qRZ\nVJ1NS0tzzaLXCsQrYrBRU6HLbph8bmE02WYIjD4xZIa7jogWnv0D0XyJovRh\niL3nw44DNg6Iy4XLMS9n27rIFINREF+6zb/9WG0ZXjXO7zlxnbfBpR+GZLxc\n/O9zXh/9MdG6zugUPCUCjlmQ0XToHSt+IyQJ1Y2J2qxYbVVeG4M7zuoi5Lbl\nUqaq5l93K0C9oT1C4Bk9+pIzma/cY7G1JX6eue4JUxoqavaBSi3N19ibNAan\npLx1OS0dsMy0NS8NmUGBgIHH3yB8mtuX6dysVh0ipvoP6wgDlNWKmMt/JCb/\nh+x4jx3yQmbFbcKTl4n14OJlLF7X2Z/+41+38TM7DO8P/yXrHy5ntLsmrtN5\nJ3kbYoQYc6Zj0IorVJMCcqsFENqeBpJFDnI7OsajPO6uP14TNdJA178JPkNp\nd2sgrqsWp/bJ6vbMWo8fZKlEHaPSHOvHq5Q0Xi/TnuppnUe9Ls9U3sBMauWz\nZG2R2n9LVeaMkwke9QotFaaplch5/Jqm/HMFOkHHXlY9N+Z5thIU9O+Mne2k\nfySY\r\n=cGdU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.57.2","react-dom":">=16.13.1","slate-react":">=0.57.2","slate-history":">=0.57.2","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200612235243_1592005969150_0.14103104706102876","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200615193918":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200615193918","_id":"@accordproject/ui-markdown-editor@0.93.1-20200615193918","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5c772efa4f241e3f5a0b6412eada61fc215ca5b0","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200615193918.tgz","fileCount":4,"integrity":"sha512-xxrQ4rJoAZ0uUFILeWW6mbEsOjAp1bUVnUPNiP9QE3aMebgiBK2lksqENVKGU+O009alm0w0iIKlWgKnKqHgcw==","signatures":[{"sig":"MEUCIQDlu2aO2Ag6Uf4a3W7FH8EJ4SHk17QuxYZq0f+YUjl6xAIgYaka41JCpGakpV9GHgW6abYs2tS8tACXgPiIlA+PySU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe585sCRA9TVsSAnZWagAAEXoP/3fcekxla3athXfOGY9f\nAe5HKw5uluSPLt2nZbb7vl+rPjKpShP9KLpqBl2hxM+n3m5i/OwG/FuPDL3B\ndw5+jDOzoBNhtGSNSg9BNg1vQrasShb2xmbI+j7N5f77qSKjbFF0PJ7r5hQQ\n4PS4XUyzcBlrRHu/hmH3goJbhH7mvXCxy79rIqHxm3xhxCQsM5f0/h+3+LaG\nDcel/KXpYXeZI0Nw+M05zOPuXtmAo2WIhlB1Z5vVxhqf4cwgQCcQwJ8OdEkz\ndr7rAANUMMhbGakKCzJ5MffKF2Hr2C/UWzQiflmfpMJEYKs3JCJQdPFMVHlb\nlcFGIeGomahzoxU2d3lgUMgD2vCGEavCN+d+331vi/9ItKTremNIFx9NZR//\n3N+Xq1F28azOH6ne6RGE0BG4xLoosW79n62yCIU/XjBKirfbhKO9FOmmU40h\nuP7BkJ8RchXQ9pz8x9UIfkWl0KmNhqJhpGI182/6sigLf2P8FAD9JNDtpi3z\n3jC83+MJXXgtdnhMa3FStwhZxIajbiAL9nsPZvHFuZ3GGVKLhioe7LrY2yNM\nCmucm6gASSlmlIJtqm/z9UXk3142Rs0U7UosEfQ6IHtbrdQkWcRz03nk1Wo7\n1uJVHnSnlDzVYTNDiTEtuCFon9BeDdlUsC2CW1mCRovAcAlQv7NZ2OvyZ+Zj\nCw95\r\n=tggY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200615193918_1592249964208_0.7572572741682726","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200615194423":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200615194423","_id":"@accordproject/ui-markdown-editor@0.93.1-20200615194423","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"2994591270ed84dd31962baa476c8ba2e1dc9693","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200615194423.tgz","fileCount":4,"integrity":"sha512-zLQurz/L5GSN3co9v4xYXw0QSE+xFXF7Bc9LdOiRtZSdQpqL00hJuAqmaYVRQs4RuNT5C3U9Gp9wqAVOW2V5bQ==","signatures":[{"sig":"MEUCIQDjYB6l+m7mPP5UV08ftemfTlKJNKCmJMesYw6WwoDQ2QIgJqEb7jEZRH0PPHJmmcMypHPg3h9XQuVphuG3LcvAD9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe58+cCRA9TVsSAnZWagAAvzIP/16G6mMGc5+EGcjX967P\nldFn4ksGrfiyBWHbRJYkvLRSpwjr08X/W11qLf7+qbolFKblaUeAmaK7luWO\ndQypIJ6XHc8C5TT1mWVc9ZDW33b8Nj2HUNM+GjTHkWIYoUZNTn2SeIvXsmlM\np6M/wF9EAuIjp4ARzlvgYV4U7K2KmFR2Q93Jxz1fAn8rXV8mPaxU+aMuafCT\n1o3LKzpWuyin5V+DcAT/dWiBVYolr2tYiYyYZjUqJPgRrOwQ/0xaSlzLiSEf\nKuq/iNF73hWxxyXSZ9kdQsovylgDUL3q14zD8JcTZtBVqz1DA+ccR6F0rPCD\n4O1VOqpLEjwDjIe72eRRfzDwuCFQ3F8CCu+/VLcJ5QQgT+tt09JLw3VWZ+Bo\n1QQmz0EkY1wyQgFPCVW+Bhb7y7IOD6vzANJR2nTNYCFwkzl/zNefAw1h/rQw\nOIBuBBHvqXxtULy0njyYGmcctIoDKRB6xjH8M26/z2Av3s+un+uxUuKVycVL\nwK+MhPTOe2AF+ETIkLlvRKgWUX2CdrXYhXeuyshIomtNljQQzIoqG0U94Bpn\nwUe7eetEOOw/FY5/JERW94f9SFuPzeUsRAW+gIgANabZLOnVVCCxCXfzkRxl\nDQ1wElOBkb/kVbQg4CKiONnr1V51XW9BgWdMbFp1YviaOoTodzlIORCZKl9o\nnZ9R\r\n=HRii\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200615194423_1592250268337_0.11140518158846202","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200615194654":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200615194654","_id":"@accordproject/ui-markdown-editor@0.93.1-20200615194654","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"a7843937db6d39ea03187eb446c86d8f083c5355","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200615194654.tgz","fileCount":4,"integrity":"sha512-+Z5Lh0FJvbWD4D3XHJClXLh4ztRWEXAghM6Ic8f8yLBU3rFlxWtPmRsvrlw0gUhQFty5lzuVFj1MeN6T4BnxCw==","signatures":[{"sig":"MEUCIB8FZBX25/16cG4s/EfTT7/7czQjf4Hnrb0IqpT4CUG4AiEA81p3aq6PZW+DozqZP7RS90ZA7PGGdbnTZy/cIW94gqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe59A0CRA9TVsSAnZWagAAVqUP/j/hUz7ODWVoLI5acJCD\n2XJ8RbLRL9c8N6qdMpMbUS9R2xRXKB20fvHb2+Gz6JKbCjvJp8kHzjHqAaww\ne/mhGnQ+w9u9bymelXFz7IzdzfUsXpEn2LVjbzg9B5fJ2S3n+AC2+8eXydT/\nR39mq9ULTfpUDhexS4U56t9owU3oxQu0u1we9C2Sm1FdlZPmAQaWi3u/S2Q6\nZZxiYdZScV835KIgPs0cs2IMC99oqIf4W3g6wj81IWMZQd4Gkol0uvXT0RRH\n/oWJJsMineT2hJSqPk9MCgvlZ8VKoiOHouF4zIkdGRr6Rdi9pKh3ILpn9DCa\nzEUw1euNJ4FFp9VG87WYijT/gbTBbS9yDYkzOiiRQnpvqnSTBEPvJvYbdwwL\nL+X8PCbRTvc/aQhmfG9Js2FnvdAfqfhId2E/GIKO6116RQNk51oimyBlCeIl\n7ewmJywjLB2fAxk/tt0CqW2x7hX46WLkhZT1PdlI5JfcBvk9ZA9Y2d+OiyNi\nAqd0JkGtIpXnPOXiKDN2LQonHFyrbvzFZMKSuf/J9LZHepxcRYl86oXwKnUh\nTMWWkWTMlFicqLDM9Y9r0cEwyO3Gzno1yK6GWMOaMuAu4P19dzTO/5UWm6Ok\noz48N5wxEc4dEQDYk3JPplWkZh0xu4anmrzN0UIb4gScKU43wDBqcf2Ze1bB\nry1U\r\n=hBQQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200615194654_1592250419635_0.25625211554310856","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200616165417":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200616165417","_id":"@accordproject/ui-markdown-editor@0.93.1-20200616165417","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e335f5b29a104d1f0ba1ab83da6fc07b6c115395","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200616165417.tgz","fileCount":4,"integrity":"sha512-b4INuREG3e66pZ16F/luAJfMOY7J8ypvU83nUKBGPFPd5kcCrTpEbasBHoGISdd+ImYi7tNzI3BbwI83aPt6Kw==","signatures":[{"sig":"MEYCIQCuuXTleaaWAXOPmV0K8X769YMZRS1hWlr6qJ88rGvPfAIhAMNpfFz6rv/SThXoA2qH6TSNVMBL48ATs5gLKgbltDST","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6PlBCRA9TVsSAnZWagAAHwgP/AxMa8r3sR9xkga5bW7a\nASQzFP2DXiEGJtUCaTUjBc3Vc/qtfUxBDBhIYu6gKktspd9ovOt5YeJUtAzP\n2qx5pWpVOLZ8Sq9u+vFUwV4sqlyKrXGyAalPKcTmwQd7gFoeUxEQgfGmkCvI\nDlBHk0snTfTlEUDJaqkFsdJqYCeHornret0VNnvsgJuHNrC4+TgncCvoZ7e/\nrtCgA8Xi0gSmDMNoD6aNcmMFq0HvUUy2QEOgiIJFRQNWusXIphpT3WQi9LT+\nn7AKmKquyJpBLfdcjpsjCLU54H38ePHr+hzESNDYC6t8Y6H6gyUgI9/zpVq+\nJCMxQToh8OGRrjl3OkJZuiGHJjvm1UIWhuhM6m8xKdZNVtF2MWrc1ovltslH\nkgh4O+qPNWmkazfCkoM4BAOW9rYzKcGfYNGwKX4cF3gyPF4WRHvbhktHFLo2\n7Xn8tlHynVwmsqgx07/M0BxKsE41MXiFTyGeFZCOsNep8oiLFvZGx7gqeLwE\nS6pOVby857V8ALZhQlyio81CpCMA41urw3eCwsD2TrhP3rul5k7DDDsfQWCj\nrcivnPnhHkbnZdgTEo9PawVEEvdvcQ8OzTW4g2QRnwM1+eFbgevIuV4HYOpU\nzqRJm3edvO4FWk++ZuM6ORGg4q89LRhh0ehcphdiaCl4zR4FFosEqokcd1ZJ\nZpN6\r\n=2dyz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200616165417_1592326464899_0.48581014514720167","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200616171059":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200616171059","_id":"@accordproject/ui-markdown-editor@0.93.1-20200616171059","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"4793dd3c31f574427c232dd46d942c2e596ec7ec","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200616171059.tgz","fileCount":4,"integrity":"sha512-7td+tL68BsklqvG1y5HWpyLb3+r+KdbXy8F9Iq1f5bFoI4NLUhBxY6G0u3DuLFQ+1ChDEEAW6b7hA9WkggkE3A==","signatures":[{"sig":"MEQCIAR3Ei0KJFRQZfvhqJTjjuz/jkCEFExaFoBZ2CuZfqNSAiBVrfGSEhLx/GCsI6Wey0Ze+Y7IZ3E5dr7X1H7tF+X9Gw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6P0pCRA9TVsSAnZWagAAoEoP/14hF0oJdPZn6HkmJoG1\n7Sjh3W2NGaCjA2zEherP8ZX++bTn43bYMM9lS6M1MRGJWpWkpgK3YopUZU2P\nJESrt+lxZ1tc+E8AnHiep9sBiKGMLGXrOL9XKE7d3pdy4GCNVZpJ1VcOhAeS\n3w6pq8upR9BXwaDTHs17j9blBuUrRcEPCDiy2rdRB1cX/XRECZ2k/UHIQd2z\nEOiK9JyBXFm0mY29IWCNnd8atSa8A3FCF36ZwPJNuC1lNFZHQwCuikq6lr9H\nJu0id6LoRhCe3qXXYs0JqfxrFOwps0F6djFfej1yT13VdnWklyVupJzlJR5O\nBS45uaP79ksyr1+N3unv5NYaS86mT8/55vDfQqp8A/A/jv4LYRJvdOqf2XMj\n1d9z1WCe80P+WKiBt5N5W+dr6GEgLlUrxqeNOAl6LjteBO5ctLUtJ81Es/mS\nHrkG0UwFHKIctwQKSCQngtUBWav5HFvSOQh6n8tYtuw8QqDsN75d3WPm6puF\nYrCrdANbbqpA90N38TTMYAWYSswIW96zGUSbO3Kx0/wOsvCIZHckwqnhSG8l\nQCU0entKBSFypUQWWCPXuYVSC77JLH4lIZ3aYi0OuwW10QDompIpZN+5Lzb4\nerfMiBpJGFH2KNGnTQmR0rMSUwCyFCQK4lkQzAoLnbuDXlHOxmFAKLpaf6B+\nmv2U\r\n=Bx8d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200616171059_1592327464872_0.6534777638811318","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200616200151":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200616200151","_id":"@accordproject/ui-markdown-editor@0.93.1-20200616200151","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5bbfd207a3ccc40827dac8065b63415afafb373a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200616200151.tgz","fileCount":4,"integrity":"sha512-PYH1+rapYpvHWQKqEPjvIRAhLz6Nyn0FD0X9iih+KFTOl1Hruy+svjVdfnIjpVKMnk+hEe7WJuBF7y4/oTyb1g==","signatures":[{"sig":"MEQCIErRnwuN53R7vTJD7vXvH9QppClsYD62TZ8Bn898S0VYAiAEpG0hxLP3loemJGhGr4PEf8q+m9KuyVf7w5FxIWhMuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6SU1CRA9TVsSAnZWagAAdVQP/1QU7rzLlxarQTljrTc0\nNZ1KnGXqa+9b/fco+sUZxLiakJPJW4vbmq2NNCIg4OgBXHaF1/a2cFbmbi39\n/NvHLV8s0cLjlv0AKgJouCnjUE3w2dtxq0i3eiA6hJkLa9L1to8sfrA2HZPt\n3f05E5+00g8qTdo+BR+u5MCHDSTXieWBjqOe65i1FtfZrmyrBDcDNKETb9QJ\nDVWgkX+kACwC6lZ5iHdfRFJVVGekbQE9ZIQsnWZ2Hfg1WSyOPAIoKfs2Vo2w\nfqEWhE1yHFjHXIc4/uZRWcXX/NArJbcGC768Onuyvy0NNTrmd/B34Kx4Ny01\np6/1SWNcY4x6J6Snj83g+QCFGPocJFmTyair4Zg21eqR/UpHwd6f2vL78TJJ\nEvn0sbXY5lkKvU3JUOH9GyqDJHC24vdX5MFt8b9tU8rk6fN78YZMXTaOT3Yb\naKkVo2187sGBuEVM1pa1W+4uYJ3xt2+HYh5GQIlEfgk1DexGe4jhFiOQ6eP4\nbHImix3WDnjieJyGx5uXYsin3dSWgd495HE91OiGIzgy0+hExSBK7B3u0Aoi\nCRrx5YRd1hfU381aKTOzDSC8HDgn7+EyoYJgNKGnMGns8Y+A0pK/2ORopTo0\nD0a2m8fGLFOd8PUDjmvhF9fw4UU0z3PhPRcn2IEeGXVe11Az7Jb/52go0iP3\nuRK3\r\n=Na1m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200616200151_1592337716642_0.03528730697371807","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200616201027":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200616201027","_id":"@accordproject/ui-markdown-editor@0.93.1-20200616201027","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5b10c817b187d771cc5539cd50303b1fe708a67d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200616201027.tgz","fileCount":4,"integrity":"sha512-KaVG+anF9FHTPWHT5P79VpoDDnCwzsJQTzgZzKz0VmWIkEZ9/R3Xy4iS0KVjD4SxpY91sG6dwgPb9UT8T2o2KQ==","signatures":[{"sig":"MEYCIQDMg0oBMK5BnpN4XhkwXfF8CxQDQQP6VqolrsbuHMBqdwIhAMQ6l/AztttAsD4fcUkEXXtKx2Gq/4rnUv6Hwo9Cgq4I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6Sc7CRA9TVsSAnZWagAALgEP/0S1jEza+QPqdDJ7zPno\nz8dG2MDCkM1dTKYJA6BKsjrNG++LFYMsuEq3U83MLeDX9eLlC+CwYW1iIIkm\n8/0X3sjarNv16T4brO6sPgURcnhvlz8k6rVX1tjitM1l9Y2e1EnvJG2t20+X\nTWSu0QrLZdcJgx4xZEb7XrGSW/IYvOOh7JMe18w+3uzWZuIEQVmxwXCi+4Mp\nv5ZjLXSbwZ+HxTqexpDPRj5fbi63DpCl5MKOJZfm3KRb/m4kkNJtNYnyvvak\n2nLGCd/ZX1n+KIOmQahF0LYYau5FShc6JX69mRl9dH+6qzyUsCb0DdTXWsPX\nvvNaTYnuAlXHre+hjqoTmYRVtjKceeA12GVGl04YD9ZTNggR/PjAAugTkLBy\nU/e8wYOP4zPiTo5ZChp231XWZj9KlVWOa67alICDdyduC6y5351csSgKN2b7\n93VrJNnXd1mwIxiBL5guLtkYKhzE9Bp/uiW8SmOlISmuGMxsbfggqZTwvwEu\na+frXHIEdb4FNxIttVzORx+0qtGLv437TnFDBwL9vDPxb66UxPoWJ8tGv/tZ\nDFT390su+nHxXQxQsAcyjEpETIBNtPb3/5AR0thXFkk/POqDAdPCE9MNACC0\niuEL3GnC+n3sNIafy/0TyXECuuH1AFHI0Ugf5yvG9tomwAQfE849Oz2XLAoM\nde3s\r\n=k1Vw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200616201027_1592338234758_0.1678688795598129","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200616220344":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200616220344","_id":"@accordproject/ui-markdown-editor@0.93.1-20200616220344","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"19c1c27ae4b36f8e7f9e0bb07c5ba9e8ad0bb011","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200616220344.tgz","fileCount":4,"integrity":"sha512-CsECaWbRM1vHqrnmIsNplLubM7ighPcxLi7DlgZTaNqWTbdFuUB5+vW/PfymSl2QUcvvaS+XjHheMRMqkpdHfQ==","signatures":[{"sig":"MEUCIBhSUsuClY7jLok5JjMw57qIPmbCZ4AVmv31vk5/fHqZAiEAlsXIC8NY9acropQF1yoP+BRkBuIEgC329mKFc1YWV1U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6UHHCRA9TVsSAnZWagAAj4gP/3bWnnC3qufMeXfbe5sl\nGhg7xKFE6HJ0MTBzhp5w5AlWzlyatvBRs5/s/NJ2oVlACKRnQKb4yaxfCJx8\nezlDfQ7tarNxo2F+i44TsLU2RW7HWhfUu24RtKFPszVXFdzljTuTk8AXledE\n61/jjLbaP2jnYJLa7m6jrvh9b2JEPguxe62NZsvitWWSwR5eIYwH3HKrB1rs\nLWAp/5SPXS4deJi7x7phspWeDlWMXq7PYSvey3IHcl4yAM90efXu38ZfzTfC\nV6TK7ThVOXgCD6rzGL9vf0bMMsLFJEjeTNmuhjIfQYdVcfkROqITXzkTrRmg\nq3t1T4lLJRZURV/6VqSCovWIKSoVkkHiVdY4OvP+Zs8myTsZL750fc/13tRj\nPj/Xg1C3NPoyaV13/tlcq5yYtF9HBSZKsgCFckSlsqThFxJSc0D3z6H7JjZf\nxfvmiW2zt4du65jdNleNxB75NHvIGsO+bsK3IU1sqZl8yFHkVBEs0OvNSe7m\n0rL7S53FE4twjVwDjkarj7HV1p5r3StMBLdimqlY/NAGY56BIOkIxCTBYvwj\nKe7IIa5D8teKdrsldgV/Yb3G+nfBbNAb3hyhP9f5V556R7Vpum3wu5woECSW\n2hDjTiAMk+3B3CN504K5D1CJuihYZ/juMYh87B29qrpBgrZ2p0/th6wQmVFq\nN9+h\r\n=zuGp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200616220344_1592345030771_0.6353313136286234","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200617132423":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200617132423","_id":"@accordproject/ui-markdown-editor@0.93.1-20200617132423","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7400dfde967b67817e3aeae2d7b47a12649aed4c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200617132423.tgz","fileCount":4,"integrity":"sha512-0Knt6zyq1X0ycqyq6loVkCOxnpzOgOY57iIGW2BbJhigUUuNWB8R/MNmfYQi5l5dYbPyxwe4p3LuP8qZ4H4zLg==","signatures":[{"sig":"MEYCIQDEIwjtwcMLo9M93nKpxol55165Y0DmBhNWvW5WICLPXQIhAKCwP4RnhoOjxjNSE+DTzjIkot2reqFthZ5AuOBXnc5Y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6hmQCRA9TVsSAnZWagAAHTcQAIx9KVqBDg2h683TbJ0J\nry2zVtPVovBaEAi8G9TMcQa3/wS1GRDQaL5s23Rxoo0xESttDdQ523CuTeOo\nfGW275A8VuInquZxiCHc0+m5RVZr6E0OpTMNRaespKU+2VMP2KdBOZKAcmfb\nTVQAgoArjnVD9IeYisp+vMT1qMZNaLunfgIAAA7Dg0wajxXpOciqMZbuCBZV\nORj3/0H4BivoKU/XBfoB0saRdeAh0vGIP8uW5yALxOlc8H4wLQPmuYUnxwQc\nEjT/9Nk09qEJeFdFxN219VvosK276bi0ATk0ZCwaPBX4/IeXxIMelbUbkNkJ\nkzoTW8UL7Z7LQeDz0SUvY9z8GHuYVr/rjOO4ZqF93hZy0RmDSxknqE4yKKcw\nPJYKWxFd2PsRYsORVrM/Cw58GyF+IloEP6ztAuO64rXS+LGMTnVhfnDuE0Hk\nvFa2tKDkgGC35Vq7r/+ttv6/PfkIsilHS4WuxEZBX7jNdBDGbDEqksmAImxg\neyF+C66eLKyzL7T57QG/VJ74I1yxB18WtftsVRiQE6pwFWtV/V1wuqJyhGfp\ngxTgk7emHLYIsF/k9iV4SNcanZM6N0O4qXJE5EVpRq2AH9zPzoTHCxTKrBa3\n5oEn+A3axln0QrFuryFE+jvQMAVJv96U/QyZSgz9yaaB00hpz4kyr18NFZRS\n+3iu\r\n=plm+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200617132423_1592400271879_0.258923473710565","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200617143827":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200617143827","_id":"@accordproject/ui-markdown-editor@0.93.1-20200617143827","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"b0f9c03e55e4f92ed0682d20a6066cffafc9378f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200617143827.tgz","fileCount":4,"integrity":"sha512-j+NsdeDKYEMtqaUpQKz79/9YoUmCHmVuXyJCMKpwLpXHRJe4M/sxbzf1vjwhQrCh+F9NXdHXRWPE4Wefpxp0xA==","signatures":[{"sig":"MEUCIQDYd6QRXWXD+QnUIx2lEl7VyHUmedXxHcURr+SZ7WMkvwIgJtbAAouz/R59ir85lwXqx19U/bnrHaBuxqRF/L7zvQo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6irpCRA9TVsSAnZWagAAIXEP/jmG4/vkfMxZ54aVwurm\nrrjAMEYD2cvJM40OWaSr6gj85r7mB0enoXmXFQL41Gnh1mMu2CWD5NHwhiTW\nAL8RXfDQLUh1bH2mfNHjhi6irH6uvUjoHm4lCMz7yrVSVBV6oWIssId2YzsO\nkWPguI1DLfu2HF5H/PosUS3dEfMdzMz8a57SmsCh/GELJvSTWHodiHorYfk2\nub4Pq6E4cjsB/LwWzGxYDrkOriotJe3qtsJtS9qdOmRKz85jGKdu2Dse8sPo\n8uXE6C19g5pIUEsFzAItfkVbmW+B9p/HnUrF587LSnARc0GCBqGTmnTDN8MJ\n03G09XQRZbFYUJTGg47eAZTZ7qoxGlCYMDqAXDI8s5G36BXxRGibmJbDBgCr\nDLa5vTM8jJBY6uUgXMjgPtbqABu94P/t38GTWdgIsPI9nuvGXm0nh+UNe7hf\n5KvVB1kHzjzOwtdUHILIOa62t6hBHSE39a5xl2suoZqGbofrKwXLu7MKZdGG\naO0yYo/QrHCJjLau8Y4+qP1+TuoiYFbhlAfhwlppgIvf3tCqPh39MKjgVmLK\ntpHzgd1Hdg58bBuMt2tvGgCFESsusQmmlmSOFTs0R3OtuqgE5P8rWKpWkMtf\n9mi1SbmRCycSCspS1xPfucxZ+/h0F8UCLsuo5goHIqJ1iiGK0E9e4JNdsSKm\nIEr5\r\n=mM5k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200617143827_1592404713111_0.8022272485417843","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200617145547":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200617145547","_id":"@accordproject/ui-markdown-editor@0.93.1-20200617145547","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"59e1c1aa27f3d53088e762faae4f8ab90575978f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200617145547.tgz","fileCount":4,"integrity":"sha512-mUPGtD9dbGV+IGADEPCzRbO/FR8ZnYrZA9zYzl1jPEdwuaBbsQWcbvhNJAQ5yWCyeud5UcKMqtNt8Y0ZhPiHUQ==","signatures":[{"sig":"MEUCIAcZsZSi96cc3nPgkUo7UglIz8n9x4VQ6VjKyQvWC4yxAiEAwVt0GQjIlRMU82JktBSkUqyqt6GpWOXacvGixMdfVTA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6i75CRA9TVsSAnZWagAArO0QAJdJgP8Niyix/vxbPmVj\np1rEMo+sMT+qJIv0bEk4dxKFKI7arxfvNkcvGei2kSNoFt9MnqLhDF7t2aiz\n8MnBuvgjrOQjMVvBejjI6ISdw7odh6OcHdGbsjOIt0NHo4Gv0peiPFwqt73/\n7LJPoi1VUwl2vyn8xPP01VzSl1+zhBnXc+fs4oe3q8WDEhSSttPhXUaDzl3Q\nPbcx0bfFAzAyunYWPysU25O/StTeLoUlZNog7Nn4myshRpQtvZPTrRF2HwCJ\nlp4XAwCKlWSe1P/9fEwjSYGNkhD5CINwmwocVd0JH8A9cOMgF2kEBHnBXsm3\ndgskvaybHoQqTS99/EuCx0vKdp4qfDbDLYrFvaQvNgG7VvxdkwTgZTS9QqNc\nMsf9m+rLg25IzKG3Y8BGUy/5bBdGhZvRou3qRE57/N0L2DR1f73t7r/VD1Ah\nJ9199OW71FqJWgYtuddRF90DXDFv9gSgFCQVBNCrJzazpLThW2zh3jX4ixR6\n8RyVhRzsHBlsLIZabDdIgC9XqL30TdnZJgwQh+tqPis9EnnkUqKwvNc3T2Ju\nH52qe17qRJ1MES+JxQEPbbprjGwxclFVCZf3W1BcUMQaeh3gtRIZ4KxnWtNw\nzxtRn21n1bGSKHItVsdq8a9faeM9e+OGXuklUOpi/WwMTLqAL06g1hjl7fIQ\nyiTz\r\n=3IZ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200617145547_1592405752891_0.5367480042877122","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200617195521":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200617195521","_id":"@accordproject/ui-markdown-editor@0.93.1-20200617195521","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7afa26c67861c73437fac10771d968e9591ca66b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200617195521.tgz","fileCount":4,"integrity":"sha512-zhdHO1s/R1NXnBXJ40SJMr8nme0swoiGbUFFygtgWmnuEha6OMSkE+oVNEMMYbkCYGVhsuaMuq3xW9I3p4CQnA==","signatures":[{"sig":"MEUCIQCBmxsIBcHYih109sGZ5mx/nVQOLTMSozT+jzGwHN0t0QIgcSiCvGyM5ewSJKeXDRt4Hlwof9L0hwEBLw5wyQNOyaQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6nUvCRA9TVsSAnZWagAAL74P/AuHR5TMGfP3l+6C3Q71\nCed9S4Er0bl8OfQQh1ZpZStKN0LDBPHcH1+qPlw2QKxsOEHsRPg/I5uFv60f\nZKWoixmP96+9wAKiliJFmjw8+GpCJvHM0gwmsSXt2umvoievgT2I5nyNuNGF\nLDCA+W8gg49t3d5sK02eCiHfvGKOOnyiwfAdxNnd/eZ30i9YEzslXV1kh2AX\nbUufiXAK3vQoGdZlxwnSeqqdOULkYNa5c2HpCrKXRllnLIXbUxxSj3uDNvGD\nA5LV6Tbow9b9hVgIVegleGNSmgGwCk3ifXqZvJ7R2tRbXQyI4VArZbiwrTPA\npbquappP4P/DcV1LyvRqnPW9VNAu2UopTu6TKpQzB9BqMTqoC/ZST8lx+5IN\nPrGeKJvdmCb+MNws1YPI1igtk81Kt7f6pFBoD7StXH95QLbVN9GXX8cMHf6c\nyQ10Sf+IQsdBdcXjI6FyndoHM7ZT8guVXtS2mj7aIU+4AL3xoayqHwjkKMvj\n367Kwx+jP38w086BkgkcFeP5Yyrxl59dq0mB13/pi23DimcPXUTB6O+lyiGi\ngbvbO5/rmlNP448W3CnyhBRTLX7pdkpVOR4LnnBYvtAJ+8ezhbxltvmNfYa8\nxT+BhyG0GTfsmVMtJoqO6nWyAHpGexX4vrIoHjgCxL2DITsdXUDgpjYnFd3E\nikdp\r\n=MuXC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200617195521_1592423727016_0.1401841369665351","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200618140459":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200618140459","_id":"@accordproject/ui-markdown-editor@0.93.1-20200618140459","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"c13ac74254f00809fc4e97f26bcde9a95324fc5b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200618140459.tgz","fileCount":4,"integrity":"sha512-W1AD+iWdWsBN48wTC6p8ixK3GXtlGTARnyaAb1YHh8fxo3L5xrI1LzCLEBT6dyDDvDeNKuICRLRVf6vU8EJc3w==","signatures":[{"sig":"MEUCIQDliiCrratreln1bIflAGF4b/vEdkbSnAanpC3jhnBpsQIgLa0IXz8gxq3q68zDBbN7SULn67xWf5FRhw2U3uLzXDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe63SRCRA9TVsSAnZWagAAiiUP/RY0umOMw1e0g1qqFJ/f\nh2x/RFhHMaWf/2EjhGnoWkeB6Ek+5p1/kpUVOVwnbSqrFFQH3U3AYIgR+JWE\njj3xYeNj09VPGdk03tmOyI24HvYvTKqJboJuNiWNlX/rsoqzX0pVtpWzYCQG\nJLzP7oAWa2bWMHzrKTh3ITZJl1lXFACCXGI6N0xuWw2Y/V92oW2GC369r/C5\nuixIqCK349LPlNROcf1JGsVxzfYuW9RauC4aOFad36C8Fi1tt522mUg6J/Wr\n1H1BUKQZHqC01Pamqm1XCr+IH8F5YgP7pHj2Ay5AVFu4/yQnFNF55Y0vYHTv\nthfXM+04Hho8BtbO+LlQU8AaZ0TUI+3+7LtlYPA8FlTBCmK2LtNTiYJrU8VH\ntp5n7xpE0VPrBFx4B18h9rq15e3swIN907QhO3pmu7tWJCCUpGTWl/5JVZKZ\nA6pSIJh1nYRkx89ZWS8YSqZOdrOdoZMzPSyeq1fYEHXp4wtnIOz3rVdKBJ/a\nYg3XIXP2cfhjsQlUhs8zLsXZXZyK1aO0HIXm7NL5Nh4aUv34nV8WD7itwgQP\ntaBY7UdtQiLehXZqiFMN7tp8p9ePtm270XW3Xjj6pkii82JMNEwz1xrHaozG\noGOARSsD03l89r3CEApXEaPGHCfwTx1r/E3ccN6RpcxgmEAci7RZBm9Vc+We\n6Bt2\r\n=54NZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200618140459_1592489105252_0.5789868472024315","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200618151358":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200618151358","_id":"@accordproject/ui-markdown-editor@0.93.1-20200618151358","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"8a56f9b7a5e05bfd677c338d2d1e9142df9b4182","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200618151358.tgz","fileCount":4,"integrity":"sha512-aJY4DGwtq9qt3S/aKxt2PvianpDUWPErY08tARGsbz+j7SJNGbAZ2oeAyynnnlmZ+gLa7XR+0YQ8bOH6eOPFFg==","signatures":[{"sig":"MEYCIQD/wLfP/iaFQG5u4Yv9aDeTrDdkinlTWoKi9/6qzIT19gIhAIbEU6LZRXYlgb5F9uU13q+9R6pfNMmb/EnxciZ2PUeZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe64S/CRA9TVsSAnZWagAABxoP+wcR3Bia2FF4/ZYLETQM\nNK5bVUzK1AS6Kmp4fc9JIFbQwPY1HwuCPMfjI8BkoyrOiU6bgY7spfXuz6IE\nuF8JlwUpfQYzx2hGmp9jywD4S/chgDSSKkhZ3ckGG0shLNYSbfEws96RsCr/\nZQDKAPLe2AcV3Kyr14cSdVO5iEmb3tmiVPLY8TDyRbMpXIeRmt/B0iGQ0a5/\nbD2x9MsTuFRaZhKXmJdtLC77WsuKSrZaHMG+GNCKmiUWUESa+7YliKOPHPCV\nZqfG0Ojupy016RPjFBx0HQSPZGPHQE1x+warfEgHqbmUlk7QzseeSpFN6w0J\nfP68NXS93MXmYTdLpF22xk+d6iGplCWr0aF7AIRdsIw7kkwmCqlflQSsaoy2\nxi/amKpcGfvdbqTN9rJnk4MDYOLxrdGsL+YNChSoWVqo8I98sZXk0NfeulHw\niTjV1eGbhKaeKoechLRaB5vdSwvAA+EGRDmWauOAfsDSK2aZaXQcwNlCyrjE\n06XVnP8Yj2HwSbeU8LhWNDUwOWlG8Q/6lPuDOPyqP7ugKUUydTdQnlwR9UCR\nI2m+OWFRCkWp4PVnMz0PwkjK2fyAzTOu8Xue/kPsWrbZ4P3GVh+Ulu3fbO0L\nGGz8eYrNPSiSZYpRT3jnbfOs68sTr/SuyFx5y/enm6yre0y9BNWCK/RlvBKg\nuxdT\r\n=Si3s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200618151358_1592493247348_0.5511507094790822","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1-20200618155002":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1-20200618155002","_id":"@accordproject/ui-markdown-editor@0.93.1-20200618155002","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"667d54f54455034b0ec1524432f9d6e0ec09ea7f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1-20200618155002.tgz","fileCount":4,"integrity":"sha512-fxDSUGxpNC/1OD0d5xDeqOrQxD1dP8pNDK7LaOMU7HcACMY+YtK5NheqS+B5jB13LzNxKNu4kWMQo/cRV0UlkQ==","signatures":[{"sig":"MEUCIBsFrv/QNkUf7OLDPv++gvZZ+BqNHo+vpKssmhavrcONAiEAh76lAg2lOdJCmtUC4q7B4EEX7XJdVcVfokbkRgSntw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6402CRA9TVsSAnZWagAA67IP/A1SzUZWZ1w3DZx2keIC\nLqxfLL5e/RGHZDIDMD/GwdgIbrStoXwW8JEU+9pFBM8Z1bhuJfGpLh2WZm2Q\nbL8X054FsuKscZW9Z0QT5ijyhwGRAdILMjxy5xbYr8sCwoXj5MwqNDzoO3jm\nxtdQIcFPS3x2+nZHEOqRJ8vJa9NNmPK5Zrcd28Gb7KCnvHjLOjKk5CYlxqE2\nk9Qclc6Cq8jtLBxxboqXC3QQkw7YXlxXtt2eiKBXCVDLNlfiaEeuTm2rRVRk\noWPhJ8wm4JlnLwyj3n+72wS72Fo4O005CKc/oW+4GiBldZ01k4++2B3dC2X9\nBKjdgU4yrmioHPtsOIxC2UG9RVygMcJ3Vyv4DOcbT7J+K1I3f7NmWP3FljPR\nUXdIHmJDk/Ek3A57lH3zAHXfsZqICKt+yWlJ8Ck8Tuuo7NrtqpxGuEoPIkX8\ndAsgMWIlCERwMUDqLbVHfgf1hevlDRZd/JXgRvbA9XSmB0HAok2/+2pF3dmL\nBjzgCx9a26bMNJdaxDJaAdOtTS1qtwMQHKsS3Q7CzaAM7+Ogza102nRv3sZu\ndxq7ad5NdREv21zG9fu/RALPTIAQQb6UbX7X26a8pD4Fpgg8FRjBdS3mpYvn\ngiSWifv3YCnQnZoDTj8rarEbCkZoDhiAscgM9cC22fIO2VWGG4LCFdwAyPoa\nE/2G\r\n=YSpl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1-20200618155002_1592495414076_0.5626613108173222","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.1":{"name":"@accordproject/ui-markdown-editor","version":"0.93.1","_id":"@accordproject/ui-markdown-editor@0.93.1","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"3080b056764599a7bd881f50af06854891a8fe1e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.1.tgz","fileCount":4,"integrity":"sha512-maMTyxlXSPLPSS8v7XPIUIVZdo0E7Ij4HQVGmiRrhnSsPT/sLJ86tp+E2PwOvuGZZzGHAAg9uPrxpE1onoLJIg==","signatures":[{"sig":"MEQCIAgUsHaTrbxoW7l7U5ljE0clgbeVm0oJxYUU70enx1+UAiB32WrPH8ayaBhTnS9WQm5pILnfRpiPUwMTFQdcPcqJbA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115180,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe65uJCRA9TVsSAnZWagAAg44P/iY4YBu2dEW1xIaGYlJa\nSZX1IJjO5EwimS6FUq6MliIfDQgxbxEZWmtMo/Omd4xDwUOK/P6BS5a1H7HE\nZds64UqUuPHTDstSQOm0VUggli/y5R4i4SQu0YtA2iyypR3YBoiQr65TesQX\nQBIWuDFKIlJhzUIABvGnArqV236dm2NCYECCTdbel9gjaOYIhd5lFrRtjqdD\nHwOjTAdqZi3lLSwQhoi5uJPntblvo3Ts7oAt9Mwsw7caJe++fMuQtFEwYF8m\nfFeVw2o/gbaxqh8CMJVfArqdhHiu9SvoAnz5C2634R+ZvFtc7FdZV5FSvE1V\nXgYnitt1uxcbfrXB0Y2B//ySVkT4LOBkA+cafEE8ofR2UWe8N1MOIiSeNLrX\nS22ZnSp7uaKwHl3AC38NpbjJz6Yo6arn2Ct52dhW1D+qOgaypzrlO0GUUK3u\nE2E8tg4+n92EfEDm4E1UH7K3TXx1Jri9sZ0UrPkYXG5XFTK88lSCf2z1ta9O\nhUF8kLPltkbxrfc2KfY7PVc/8cMNIpZRj+0XwuVrdag95kU45zpisw7kW12h\nXnCmtRm3fttHn/GfP+MM64R0eSBAJDMgxjpU5stWhIGVyRaNeNfpmaGUkFrb\nEkxGEfToJ5IkNKfjpQ5Q5sVFzSoWbsqP09E7zEVy/rdu6e3gDLlNyMhzgsI9\nlTAI\r\n=vS5i\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.1_1592499081014_0.9199349422466667","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200618165526":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200618165526","_id":"@accordproject/ui-markdown-editor@0.93.2-20200618165526","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"33e0db9c1630c9664d101dc5cd36faa5f6566388","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200618165526.tgz","fileCount":4,"integrity":"sha512-U4y5t/+JTgx8tP1EOAaoctGuEHiOPvw1T/oCHPWISDcf9jLNtpMiV1LZMnztD3P7DDMCYeR1D34ZgN0lxyfyyQ==","signatures":[{"sig":"MEYCIQCvxnJ8AyW0brTDDeqaBbntQ20kN/FkTp9sUusCBK/2UwIhAKqSyzExQ6ez+Gy4QlooqQvJ0hnU74AVBZtqatZt+Jez","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe65yGCRA9TVsSAnZWagAAhmsP/1pRVRwOmKbebLVzHX8W\n87KgNMWjUpU6Y1LXRUiKwL2O1B232TlOJmwtLsP1zMEwqzT9Ofl7YQHVQcVB\nR9XKCgSlYE2KZOwxqRta4aUZcOZ/KgMKadF3GazRMPTSMYa6zDuglwwji82f\nNJaAohH6BuZtz4oXlnrqR5/9lGH00sKnmqQQNeTAnAGXIXW4o/StljRumXJu\nOQ96IhwdORBij3psT+BJlJhRVePpAftQtvKY2OD6wgE2vECaPXPcblmgieV0\n571L5c5jQclu0AU7YG7n+WEOLn+yC+Zc/aGxMSryr+2vrkr8VcL7joEMsmyp\nBbFQXmsWnO/FMZ0RnQIJfpcGLZ2JfinxTUuiSO9TxYZQKPiVMYJU+eGIgbgG\nGcsFr1Oh6deOZKahs7cIeVT5K0u/Yc13cYThZLTxvuWo+7F5qWhb4lTo2Ch+\nFtcl/+acf+1POh4lELQ/Q9DlPspxXrVn9X2OAcF2Icxr1xjTN2aP0fAu7lxu\nf5rRVLm9z0raYAH7FlZOg8P4VBKAE5a6/ZWHsOWl/vv+ikEaj3aMN86csTUM\nAW5D2YyYQPFX+oC+MedeKBqhB2QmwpsnuxGsaJT2FgnsbyC840Lm0oY7Jmxl\nztWuvIIc6rCXAdaFzXOUhpV85izBY34V53K1e8Fg8Ug3aGKVN2SLfHfOTLSx\nIgY9\r\n=LV50\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200618165526_1592499333817_0.3563992436050152","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200618204049":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200618204049","_id":"@accordproject/ui-markdown-editor@0.93.2-20200618204049","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"1d97bf398d0a78534b450bd3db1731d4acc646fb","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200618204049.tgz","fileCount":4,"integrity":"sha512-9Ty0aCQ8qJte6ENCduwRPGSK0oAGsW7crgwkHMUkr380WcPJxr5v1aQc909t19YChsr9ANYeGwVJFQ59L4yYQg==","signatures":[{"sig":"MEQCIGx9+LiEvxnPtdTQukB9ncxcAZSER/2G3CvPfMMgaDdgAiA8Rf6DjuCAAY3WEokIg/3LLKws583hjuMz0SVlUKQitA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe69FZCRA9TVsSAnZWagAAvNAP/24rQqcWlCGMnen16Rru\n+ZH5RCNUxrMEYPEdK0drKwW+Yo2z97D2oqLd+muV/0q2knsB3TuLzjKc4Ro8\nbAQnqueOWQLpA2gZ6n9SVMAuYr7CEXwXPjNvAQb1Bs8G1vUgEOzPDNfLIEaQ\nP/Z6dEiNeiqPgYj3pYItYO+2rw9Sm5030C986a1EcedcQAcD5d/YSObH+n7E\nnP/XWXptHLvW3r6cQZnsyF/RUU1mjCLcztF+eDKfi0G34rcjY+itzA926juy\nyGr/m2O0rB+UDZ1RrwvarRe2QfOiNsYFHSzuFWX1aLZC1ICpADATDlEvddDo\n6P1cxoM5XizCjOjiH/2oie1fJHAbX6NNBA1jFErHfbx2gJrpPu9gWKHadx7a\ny41I5oti36M/0bXgC7UkjhDIQYo4l+x8TGqhdG4hWBrf80L7C7hr0nqLYJpe\nMl7oitMn1YmxKKfuMCzVlVHJRS4HL85CX/oEgq5BKYoXY8Edx+73am04xCEA\npRJnNvVbW/x2ML0vzdClpu+Am8BmHpCasvJ9gK0cE8unSIybH8vL9b215w1c\nGt5npvlKNrT3IkN7AVNNhd9xXUZ42L7ZTC8W6TYD30+Gh+8nW+YVCecoyAlk\n2/caykrjoTuwTvIf15lErtHIXhwkMs/E9NGv3wxbBdBHVqUSdPN6nyOzAYob\nT4Fe\r\n=oOSY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200618204049_1592512856576_0.26265519245883806","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200622185212":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200622185212","_id":"@accordproject/ui-markdown-editor@0.93.2-20200622185212","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"c6e76e379ca01cf9d445e8ae798f6559dda80658","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200622185212.tgz","fileCount":4,"integrity":"sha512-ji6zwK3SoxN2g4G7NutK3r4588EXSAJiDJ40q4snYwOs+rYI/XoOv+ZK5s9HJ19iIjdkthJq+dSGYEzU88w2eA==","signatures":[{"sig":"MEYCIQCTAMnxWJAZYv0/5cgbNO/dAX425lAuPSr7eMjIjfcS6wIhAIdzuPGQmoAC9ZR15hX/chIoXwVyI4S4UiZ11nlbQUoW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115299,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8P3iCRA9TVsSAnZWagAArSoP/3ez59hcppBsbw1bo9rg\nfNHtRJLjXjYr+PIxoxbojVwCQ/HRkoklLjTISvbAvFU3mZ50pWyp24c1wWhd\nvvmuKGQiPShfFuyBi3PUam/Doei++3ttYg4AKYBfO8JGUpkObg34FsptJqFX\nm5QcHZGAVCGMSJZgfbboUWyRf5eT9iuJlRyBobMYOilo2myDDBe8T+nG9cq8\nyxW0WAJdWbLI4zmHT+YjZKlXaPo6Hu+YaR8L+lf6nPdj7p0dr7CEZIjrjv1x\njFEJ4JxjA0gVz8I0IjNCn24D0OzsBcJ3aEvOjecq8Fp8oB07xgrBHzTFSanz\n2pld7Xj3T/Q2FY3fqM6K1CMBpdcwetFghbrsnz65vwPJgFw2XSpnpH1/vYVk\n/fBp8rRQl6SOl2mTFprfKciVCfnTT/qxnQRAOCFx3v7R2eVNezDi7AOlt174\nxk4jOZKzkTH6nU7KCAggnG8QXmTj4GXAqknLy0j64+HjxmOUBF5fbSs+Dwmz\nfciyyc3k6L7TJImEBUzno6tab/LHgwoI5TTswEsX1GWGh4P2Tta0rwmPywBV\nCDe/BhCs4+F5akxQOOrMpTIux5Q5H0UG7x6J5aBDKcRXG0sE9RrunSC1Tjbd\n6FfbNAjKt8HL6qyoOKTeRpcs4hG6TV25ixE2z5c6UrXVVP1h0NxJsEwfA8wg\nL1Zt\r\n=WZOq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200622185212_1592851938038_0.16510523347034178","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200622185735":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200622185735","_id":"@accordproject/ui-markdown-editor@0.93.2-20200622185735","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"32b847785633697039047f03d4371f1214c487d3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200622185735.tgz","fileCount":4,"integrity":"sha512-ngBT2NWbG2zrAR4gqmisDovxUyIk/6fCzytuGp/AYDVIzcpnPcoxpGtQnOuYzSyLOz3eezmgsVild4hDL91g7Q==","signatures":[{"sig":"MEUCIQDxlBH3p6sdPGacT79i34D/u3pCyD+SFuwBUHt2zwJWnQIgN7ZSgmnJq76ZylpiX7XjoEFq2lwJ6LkK2AkjFYnmisk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8P8nCRA9TVsSAnZWagAAHkEP/11GmsxJJMhdmwlbGQPH\n7Z2LWQFxCwU0Y2mlwfrNiqSzfy/X8/+qi0ly/3RE83gR4bIgtO6GiWE8DAiI\nCcwZlCGsZVoNaXOomZVQY6x8idDBfGYbi13MLwGYTdZhHdI5hCTFHTUPlpUI\n47F/yKXGnYqoz1d5YYeVjCfLNc6RuTQMPOFBwjL5s5S6R+xXxAAIygevXruD\nhzgK9/6edBQaGpZJBh11jX1bpZnbpJopq4zn4XDY102s4a6LpxMYHLCRNY4E\n4eiLquJp8H50rVPiorzjS2enWAowWrDe6zz9v1EGFv20VpbriEDDSxQdQB5z\nQwrl94pbW4J4ll5u+y3bWSKEGCO2Sbt5bOxfIA7xg0Zjs4dZNV79WqOnm2z/\nkbXDR30ARfJGYsMlcPMHBLqX+gFDnCx2q0/viMqNB8BdDwHz6fbdQnZtAV4F\nTlVQqQ6LCPJGCUGb/y+ORlZywBNcKu0TillUN5JpFgALIh8DK7Hbq0X+R3Kr\nNs7DiPkUcHzOsIJUWsulCv3/ybHWma4LduD0WyuaPEsKnZPbsxviPsWOKVvN\nM523PRBskT5IEJ4+hgT5CWYi8rBRV5OQwn7AG3eS0OpAh0mh/XsLivonmUYY\niz8WOLRYfm7fxGBexLE7vR1uWbIpO9ptjXP4m83OeDg6Ft26LKTKqdUr91+/\nlmj+\r\n=tHyJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200622185735_1592852263134_0.5540377738862208","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200622192455":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200622192455","_id":"@accordproject/ui-markdown-editor@0.93.2-20200622192455","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e28ea78790c643478dce1c24eec90a1a24c6bf41","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200622192455.tgz","fileCount":4,"integrity":"sha512-OJTl55jG3+tJPGHQxUyO+SyH/z5X/AVyZtGvuRtoo6kl3haHCjGLcyP/F3E4yav0I32LOSsKvT4l1hIrFbYYIg==","signatures":[{"sig":"MEQCIGnoqIVXU0SwbsOi+okao/LmT/gXNfvloJ+RkPIs1sKCAiAa7xZJQxSE0AqAgwUblNAI7+ViNFnwnnTSKZZ3dLu22A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8QWOCRA9TVsSAnZWagAAANUP/2MNcBT9e+m8uRTROOmX\nYAQmU2oey4fYMuRqihph5IDPsIpA6dSgHx62UXR1v+97tozWfJTxmRV+GpwV\nzHR/QiXXLvVvtP/wYKE2A2YbI65zatzeT/Nt9d2A5ASXMv87lnkQwr/UsBQm\nO+lv/H7YH7BIB3GcRDzJRVh6BPTxJgTt21zOKBmd5x76cmskrTUtjTj1FaE1\nZQlc1DgdPWKWbkSsihW2d3UGslW7cCttV2Hjmj/c9ZuQLUDuqcS5yy7oouZk\nX/dNDBniop7fv5y41ST6vF7HZ9QguI1Pn0cjiZdr2ye6nh0fVQWgGKeOsyhq\nDGpGexo+6VJbOlhYxbHc9ubAdojl5vHJyOkE67TjxaD/wCet87SU5lsT1aaK\ni9rsWojmZ7byTAqrFpCK6aWF9dXxgiGwte5O00dhxYh24PfANGkljLYlYL7L\nmcPNjK/6mYO8ZZztiVIgH534jxckfO9D3JOTQkS6j0YeZO4p/B5Ww0clf836\npQOrbsRbqtvRiAV6y0ygx6J1KEb7kOeGuxbU0YgPJGYCRdMUTnRJkCimSbqO\nEI72VVNkjd7HXaMUWpLKOqRRFixBkUMQyiqnhZmUcSkuod+s7EPqF8mZuvpb\nz+zTnM7cKhyYJfH883yParsvK6L+vTuS1NuwItn7gK6Qqi23jAyDEhvsE0ew\nZ7YP\r\n=5+5V\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200622192455_1592853901358_0.6803483380149766","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200622200330":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200622200330","_id":"@accordproject/ui-markdown-editor@0.93.2-20200622200330","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"1f9c85fe34424bfd124cbea8b51b9139cb1c20ff","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200622200330.tgz","fileCount":4,"integrity":"sha512-13Xj6WE1EU89425Q3PIsYkqxwcVfboFJgdQEeIR51rvpNVAmKH1NBNSttQljEksBy9kRnol9F7tApmmVnPa2FA==","signatures":[{"sig":"MEUCIBZrcrL6XvKjb2EZB6dpKWOFPXRgt96D7KQD4VcI350iAiEAppTchp0TD+W+fRzTvdW+gdpox+ITzzOCHclEedpaqtw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8Q6YCRA9TVsSAnZWagAAu1wP/3FzlpOuuCgydpA/Txug\nxg6WRTwW2paaQLDo7bUkCv8GgTSVy6j4xAJNXshXJzjP/s3lT/mKs9VdIZ+o\nUF2OP1tU0YWaBsX0rf1GmzoFrZkPCy0k9/jXs/6f77Bh1SiywDOIw3Q1KAw8\nD//goILqUwtyODVVNBNZbxomocU6DhLZk99jf759C9BLKkMWz4VuJgX719b1\ndiUjHnw10KyCiTxvUajN1BFvPlEHB2QiNwIE3Do+sWAfy00aePNQxnoQKAio\ny7jmd3eJFDYCZsJo+TKOgWqiG79yrumXbu81O1ps2QRse8HC1o5ZHX6shSEe\nTGzNgeQAUhex06XZZsQzJWmG7ssjej+YqnaQsxfJK5G1rVT0HNmHOpV+Vs9R\n1Hb3yGjdnkGXi5Rr4Z6Gi4tFKzNNEn42xSotrRFEjuH1MBik9Cy+GkAbvoWh\n13rrp9eDBP3CwhfLL5jt5lh8rkUXoREjmKaP7nXi/lFWc2Yxt9Y1SvettMFW\no9Ri+ELS8zUEvWGNMp3Ig5BJWd4zWRgsa1u22mlmXJTHsTcGzXSiBbk3AJ9K\niB8M2wNYmQDePCh7dKn+xNV0Jtq3UBu2vNQTrFwm6tzUXB7pK2EUK9szHJ5O\nZZH2P/3Xy2eJwOB9fEeZyuhR1nnX0riS6Vz/todHBZqOFlGBCtJ9rdp3sJlG\nhEJN\r\n=NeZD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200622200330_1592856216218_0.49800325538597234","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200625004722":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200625004722","_id":"@accordproject/ui-markdown-editor@0.93.2-20200625004722","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e67ed729c20bfe25b46c14014650f0218aa6ff04","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200625004722.tgz","fileCount":4,"integrity":"sha512-o3SPYdun7HgJfOCY/hFZ09o5evWetWVb2RW3yqfXA2eU5++u4u6KIPRqq3/HN80SnuX1b/dkRTAMuRl5n1lWdg==","signatures":[{"sig":"MEUCIE5wW/DDyRUE5Fjvi7j2bPUCxCacjiqZnuEUdx3hfyYZAiEA1+LcRrbpuNn84M87IQhEkdkQ2PAe7bsKGzNBry+Ukts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8/QjCRA9TVsSAnZWagAASMkP+wWqw0a9NK2uwh4givfw\nbSO/TCi+GimLSESOfVWnszevx6Z4eg36azRHwpydlUVl954F3JpKLDyxrUWU\ntzhMH2MgEzBTTlykFHVZ6T1x77xhuZ4pRGlEgaFYnEET83TGbohUjgqGVifh\nfsdRJfRPQ6PtvhQSLMDq9pQC9QUQUv4VO38BnhUL4ZrWUt6pnCNobmPvYDMS\nEhrhSIlkx3N0R0awBjs+1HdwgbQfovIiMNBbbf4dtoFlZ1Q9PGXxxbauEHEs\npqyfcwbhnEG29Wdg8dINoO4B7aHbM9mGgL4GMVxNYgyoOrEgedY2LJA+mfqc\nVflbbUQv7mLVOBcPPjKVCObvMObeaPG0N3gW/rnmKlEhlRT34kQXb42KaKuR\neVZBXzplXaYZuUWvWF/DHY502TYJgPYssjKb81Geu+XbDAopHJTijsAEEZu7\nNUb/5uj1Nwy8L8mPPJFnf7IksOAHplDiysfiHK1lNnwvE/GLvybSm+nJctjf\n20MbXM+Je//c1DP5envLLFq++jxcXDTZbMHcFvr7F8Tn7pgMFLRB4lG8XryA\nWCeEZfCBWNiHW7PHNDWQObWL3uC1tN7CaHrE7FPiw/3c0R32oKdIjp+KiH8n\nz/V9A/nIUERZtVO3oJr3OegDQusrxwPWGZc0+LiJNzDTEenKWnTj6SWNYdM/\n+F8C\r\n=dFkd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200625004722_1593046050465_0.7128802555463436","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200625005730":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200625005730","_id":"@accordproject/ui-markdown-editor@0.93.2-20200625005730","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"200ddc1fed452e3426064a32140ce6911e7bc1d5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200625005730.tgz","fileCount":4,"integrity":"sha512-ce1ekLTs7CxWuZjts8YYbigExH3vXLvI24btbdlDbr7cmJv+PcgmqPczclKPqYo5FJLMSXyxV1mFtm21XWvNZA==","signatures":[{"sig":"MEQCIFEAXuYuS5tzf6og7F4chywMzOOnYR3m+bNoxyvcWSeVAiAcgqfHV/YDzqmBhcU3WVLyOl8vDSmDGHjOlsWPTrk1mw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":114842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe8/aCCRA9TVsSAnZWagAA9TcP/2Rs+Qi63XNDqKhoBydn\nnV5/7vGtFhiKdKqQn5E6GroNLgCJzJMMWl3odbYr1EG2XOSKCGOCxyM2BwnP\n2VIquGp/V6ynzSmZ/+TIlcdTnu+/OQK5qI6r3IQFmu/gRBlxAfSqDRcix/hi\nEmvfNaRjZsNXz36n0HwFF6/KaPcBU1AVj3blbCrdpk44hy9Ufb7WjPFv+/bI\naIOacPh/NCDnQx8QhPgBH1bWBBsvYtXORVm9MQ3sOOMN/OrIyGDO1dqVTnYU\nl5H/YvCUW98wcC07FTg8ZC9OjibSt6h8IPx+/lTAD9G5wp+D6SHJligtw4yx\nfaYxSDuH9r1XPpqbj1wb2ZIl17sTwYV5IzqGwce44oAWTvdY6WOKuC5KCBJ3\nuYz9EMtMwHKW/kbZUDSzlOlWFFViEPlVIP0g2NlfGNpz01aBqEEVze5cwBoQ\nu/ukrtXXyjtjDCuVVamydt/H9ZxLOcVwf5NZgE4nDPoX1VYSOuPFkVuUy128\n7EqlGZlxtKPtxJd40Q5WEkDSnEaZPGYFmNNVJ7weyCQxkIElkSZVse5I9iHe\nS9GtvvDK0XB4OjGk+nbQNx9bSelEqpQ34xXEGO0OZI2S/mx+FAkTcPB8B6WQ\nYPHpZgASsViXimZCYTJUyqEpGJUI/feOoeZA+0UP9pFp0aJmx2ROZl2EPrrz\nYgAK\r\n=2HDr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200625005730_1593046657697_0.8332688821546934","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200625014131":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200625014131","_id":"@accordproject/ui-markdown-editor@0.93.2-20200625014131","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"436ed8647a00e8fc57e5b001a0917ed3247120d8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200625014131.tgz","fileCount":4,"integrity":"sha512-v8YQP/JsCxcBW/1EzTkWUFe1GH/4EtYT6+8cdRW+V5Cu8cXIMKowIjKGX7bKSGixDLSiN6b6PrQk194Vm7ICvQ==","signatures":[{"sig":"MEUCIFFhgLNFd0Iclgz9oWBqO+R3wZU7xAm+OnY20VQA/hyoAiEAg9WaCiGzk4tp7wsDbxrqEKDog1BrAHcvJh4gHIvQjeQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9ADSCRA9TVsSAnZWagAAxLwP/1OKWnx8B8g0ZO/xasy3\nfpvfP/Es005fhbNaJK04DUPBV/wt8x8VY5UA8pvHcThYZ7yUMALGmz95ptQ9\npHzxDhRLZ9+DEv5Di4rOmDUQ4fKp8s+aZ+pVFzfTShqSF0xVG0W6Eymz8U//\nNQu7AMoh2ElfS0+BSlkkpJzJ0am72izVLMJV1Z3MXr7IK7K09giNRPdMvz29\nwA/feY4dt+Cm73qa2QaQ84oj1yZ9h2D71PqGYjAXE0Zf1yS0k81WE0qc/rhR\nTsahSb+S+BAr4Oqg/8JxRaKY5xdHQ/5ZPE8kY9p5sUTbX57wSyTWgaNtWeoa\npPpp+DhYe7oSv3z/G2tUjWla2k3vr7lvwpR1c0SmydRqEVzGEaDiH2PC4h4w\nj5IyrNpz/SLBt0Eg8P7g4IrJF8nmIR1rXOJR5UI1cf4jQeKzix0ICw0OG6qt\nE2KwDvLM2OU/7zWwi9sgbiHpDDAPKmbKr+uumFWAdqKYiel1h543atsrpmb+\n6aTOrhwgUyUVoiq0zOHKWFQ1kW6M3w2YdT2AhHiscA+AB1TNehGnf/e4v3YE\nnJ01+7mm+5kvGML+2U1G/MYrzCqLWcU7jgCNXB/U6wApbGjlsdL3ihKfHpBF\ns9+zfdv3WxWD6bAcgcTpGo+skDHauvYKxOrlHzY3y9sX8sPxjOYNYtQ5x8l3\n2JJ8\r\n=nFOp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200625014131_1593049298210_0.6660585546899065","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200625150913":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200625150913","_id":"@accordproject/ui-markdown-editor@0.93.2-20200625150913","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"4486165aee1a1ba1c469d27047ab4bee73a961f4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200625150913.tgz","fileCount":4,"integrity":"sha512-EhFtTtdbXTGJwzZQF6DN0ofEQOf/uNRzYOUO3+nJtXtQmD3qD6Zu9RS9qySKU1v/Fq3J+f5wzxCYTJKlVKjsKA==","signatures":[{"sig":"MEUCIQDJFzfYiJO7rQfa5MmnTO8mxIjfGP3DJswEe7EXaIirXwIgbhxb01Rljx+w/8Q4FoTxyoR8RB7Qs4IE5V3rPkQKiVY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9L4hCRA9TVsSAnZWagAA/RwP/371nKv7RDKPoGaI5FXk\nO9aL0AymFCKt/O2C2j4+RNbaDJ9y+MOnTFkvvDDMpM66nSHLNTdi87HRW2Ww\nek3R4TYwqY6BlHjlJsla+7DSgqnOX79I0VXW93+hLpHplcft3EoC/LzJFS9T\nSKfRxV4LIZ4uFHQBtBybm4HMMrr6uMPvcIy0/Jd0unVb5NbHUDSxR5L+PDLI\n12KY0nd0oEDcCEY1Pu4FjaoAPQ/iFT2cIIjqB8qInzdVYywdpIhAMoLSQ2Ut\n5bmpXzwGFbqwe3GidUcE/zit6ZujwtQCjujoMq1BJkRVkB3M/+6s8fFg7o52\nzAxxMAopnVL9U8os5I31KQrqE1eyPoDuEcTVyKnxADK1+eqHXm/sKJu6dMz1\ndIBEH6HPlAEOXi8yKdLUDpEogtUpP3mtHHH+JbQIm92SShaKZ/47fZzSzu77\nqjsQ93cCOGYbbyOJKlhVi5RrBCo4aRSQtqxwIi54uHeqtlaIDWscMiRIC9No\nl9Vi9+248DvyQuDL3FRPnHl9GTVffuoc/AwxjNVBfA4BYfPJ7Sv5toZrOA0c\n2COULEcwOem8Q4IkfYjAHIsxADNrK7pX2t3KcBoIk+kpTzovJzdiYxpWkdp2\noQxZUCOkmJQwmQEobAbSjWhp7K7GCGNrrypmZ87Aj5BM8ekft4v6UQnyXIEa\neGn5\r\n=7Cfn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200625150913_1593097761002_0.24526648875587265","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200626142325":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200626142325","_id":"@accordproject/ui-markdown-editor@0.93.2-20200626142325","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5765b2cd859d1aaa51b31356e4106a59ccfebc31","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200626142325.tgz","fileCount":4,"integrity":"sha512-L/AiJz/6hDFxmImq0lvjMs8kUaZYSHefqTftruCr3PXmQAlb7PtRpDyBzyGV7D/3t/y1P6apvo0rtl3ZMNGhVg==","signatures":[{"sig":"MEQCIDO2Du25wKHBsuLCXloVYHFxcEbLSZz/Tmw0B8mISrVKAiBIcCAWaI2u6UbbMmwOw8vCR1jzAsVYctQ9iVGMYLz7nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9gTkCRA9TVsSAnZWagAAKFsP/R2CCGVWavN8wVnP3CAk\n28au+WyQK20mweMdMkP8kPlwq1/kWPTTBo7PowOCRvyJqa0Bx4ekwRV0n3fB\nea9xsGuurstx1/CLz/MQmSV20YCiM8aEHJd5ZdBikKRSIIOT27RrcxFer97D\n1v8x79m+ASYmUzxSgda97qXIyrdH41Qc/ExWvhNVZcSKc8Y6Fl3tdUrdvPoS\nDSghRI6/W8wrtcAhM+lVndb1pAmb2G6dblmj9K250l2ZH4cdFPuYVUqwtY+j\niWUNhCWlvmmgr7D88/aW+E92EeWnJIyZkz9wgD6n4EF/ynrahxQQ9wJiumJy\nlQrHX897aUVNniCE0sIKh/IX4yjarb1IqzIWlJ6f62ddYa0R1gN3uwwHyAb3\nl+avrohtg+tyNZIpkeKpmnmXAo0TuTfIMbFUqQrBfm2xd8zSpEIDZeYNq5eG\noMqgx9SBT+RuH4ofYjJFuayuw8ImuArJOW1tWIqS6jRJ0h6JEVNm8yJ75I7l\nzQaVrEmrowr/cOyxWMU1sLXDAcSFuUOt90bv89OOkaIw4/9XxkvDS4uX2fjt\npg3Ap6ZPvyaPMyH4kAkmHhe/E60bkbLZTzGYrsmhPue4DwvsJLjwwmU8X9Z/\nfB7DveITQLdCRegcpRizXdgROQJkldiA+0Q1fQtacfHhvIg4QvjFiQB5YCCm\ny1iZ\r\n=sJiO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200626142325_1593181412466_0.14967833360935234","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200626143520":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200626143520","_id":"@accordproject/ui-markdown-editor@0.93.2-20200626143520","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"237309613446058f405925dc20685211da88e62b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200626143520.tgz","fileCount":4,"integrity":"sha512-KiRDogw/YP/KK7BwM/VOauNBIK32Y1UsFYI2yc1tips+gis5SFAfCnj4bYLsRoiUliYNNNAXI3b/oeiHYDTmQw==","signatures":[{"sig":"MEUCIEc553IiPcIq0qPIBKkcU4VGLVVhcMEHX20I7S00jgAbAiEA7IgqgvkIZ5IRVXGbIsA0FvrMJesAgqgx7yaW/I2/6k8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":115195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9gevCRA9TVsSAnZWagAAfMwP/i2Mg5+4aIPtgksp+Kia\nWO2DnjinzLSl+UFQt1hrpMP1NjEuao2lfXIijA38dyU8fdqwNDScnxs9C8C9\nZefDCiveKp0GTjTPabTAf2a7vmLhg4yZ5Vg6wXgj0SYbvaSmtWYJi+umrx17\neIqhB1RsjNmT3ClaHo2sAvvEmvNtL5I+/qFe5mMEFmqiJ3xcFYHtDX5bt9Gc\njPxN6NTAZQxl1H2zKFrJ2aSt0yRqPRdlEgCWREH370HRcZaxTA8KohDWNJwH\nbQaxg8NogJKsgpfQfsnYDSKUy5Ma47R7kxUjQk5uc3zAO02hLIqkEZ5PsIbJ\nsuIbo2lHjcTAjpU0DiozHspLpgSs7iPVikKh4aoZYM8FJ/0Kljbzt4sfMONU\n47TPSdDJ226iVJs4z4wMZHfZzRHiMU+xWg05B+MoHGYGdC9ULlHvsA4tyVt6\nGgvtDz76OP9z4i2hH7uIn4nRA6TSBWz9qRrB2M2FYNOe1gK9bKekKyH+dHkg\nMU/fZzGB/GAGY46EBX2xeMqCGW8B0iIPArhvqeMq/ZiJFiIvhM0GbrMNRNgt\nXZcskL/5rO52eP1ol6c/uudSn8U7jTG3lGjtecU8qbURoi2ZlnWk/BlmD1as\nPWXOCzvZvvWmsIAbCsssKQUSO8psS3B3+ijHCPjCDIs1RKHtDp5M6jyub+7f\nMAya\r\n=QkWv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.8.4","prop-types":"^15.7.2","@babel/core":"7.9.0","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.9.5","postcss-preset-env":"6.7.0","@babel/preset-react":"7.9.4","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.0","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"11.1.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"7.1.3","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200626143520_1593182127253_0.6522696789624478","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200626153851":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200626153851","_id":"@accordproject/ui-markdown-editor@0.93.2-20200626153851","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6f99ca873131a5da3952517400493112de5fbb51","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200626153851.tgz","fileCount":4,"integrity":"sha512-p36FoSy6Hw2HRnzilGSQjFh92P7GNQPl4njS33pBh43ohLR0PFLeNHWBaYGijnQ7zp+XGrehN4mM/POLfuuMgA==","signatures":[{"sig":"MEYCIQDG3e6CjldrnRNqTtYirlrx/EnY1dCv2knbuEe78tn5vwIhANAGMcLOoazWA+1VtO+fXqh5dxxLE5CrgARHLYQC4dmm","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9haSCRA9TVsSAnZWagAAlgoP/i1OSWKVETW5AZQqxrFc\nJE3lnwJhITMy5L/iUHDk2BX6JuZy4uQjFfVkfC6gZNGBBG12NX7XkXWzc/bO\ny21AK7fLMf0oc9lf5Z8x+MWVozTQlFKnekkcWRuFVhKPCDFI2glyYL8nzvge\n2YtZ29Mggq84pagFY0tqEqXxJex1dQTufPyoCAPQiB/mEYB0912UtgmvWLBr\nMBKv0GgyrXtPAsDySUM8fSRqlIW342WVC9h7tNFJFPEvb2FHj3pFrJ3qHGfb\n79lCS+oeNSNuPC/EZSaqzrOf2aJXR0bS2ZuhhEyVoO3QxuBnI4W0XGLX8cS2\nBD954ijj7aFJBdaU2mm+LfvCipbdoCSpfV/meFEuC4vYi11Vsz+V56O9TW6V\nIKb+vk4MSxXH3mqik0pp7/5EyaQuJHFw2JBIpNe2khG+i1AoEBO+u142PuPQ\nzCFebxmPmUTebA9IakaKOjLx86HkXuv2jwtfXgoVGlkUGKjfNqZote2/Gj7A\nOyTu0/4/EyQtiaVEM3rdEFUkwLQb3hBl0nGhcbJ0ZJP52h8tRaUIy6UfzgKk\nkHe1XYVnJSCuHiVhMzzSmY5kRVmf4ebhjZoUfGJiJ2SEa4mow13tJE6RViLQ\ne5QzPBCdJgQrb7YXbFOVJNLwJz2UvkuzeL1vwE3kcLc2piYnnZNuAalk8xrI\n+fr1\r\n=iAX+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200618165656","@accordproject/markdown-slate":"^0.11.4-20200618165656","@accordproject/markdown-cicero":"^0.11.4-20200618165656"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200626153851_1593185937558_0.24303767355443595","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200626160144":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200626160144","_id":"@accordproject/ui-markdown-editor@0.93.2-20200626160144","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cd960b879be6445c898395f85a5b94934ac99d7f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200626160144.tgz","fileCount":4,"integrity":"sha512-B2/MBJoelzqGWtqaeLLFZt9eTSKssav+nMIVzYPoTOhYlXmRkj6jWKWK3RZzr5HAXBLQI2gcUNJeYZXOtT+ahw==","signatures":[{"sig":"MEQCIGuGatXQ24vEbqSUg49p2rS0PvTGFMrWpX4z+OhuE2zjAiAuHGJvBZ9Gsigkf90mlMDuImqN9hIUshgQWVktBWBkOQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9hvuCRA9TVsSAnZWagAAAgsP+QG6OXa1UXIrBcGe6Fp9\nn4ESVPhxhBt5I3hKoKFCRJDPuvANhRA2G28oLfZgbOLAPYjEhby8SAFBFY6z\nS8PQeNYTsy1FpjTUpIInwMU/DHc+fDPgLkOJ4v6B+EJIIBjJFzsz28kgAp11\nrswq+ffk7qqQ4Mb3d+O60/KQ3+S1kiuDc6+fV6XiGiF3KEOJN6Ebvva8gWyv\nbpWAQqAH1u21N0GeWEkd+8OWjPSmTGUt8ISNB0HZPLzu1vjudTIIaq4ioIfJ\nEnOA+sZ/i9qUsCWyis65U89i23VsFvd/UV8sBsWkENutK626Wk3fSQWvtjpu\n43Dtx/tvjrJC1F5rLIuPHPdI1xqgErskrFil/9gLG+MLrlQ2k66cZujxEpBP\nS3FutFE4eLxZFH0yZ/SEs/8M055FYBz6+idxGa609Zc5B+h4/LAxIgtH5/j1\nCdLRaipdY+6E2xeAFGxletRo2pTUOozzkNCavEE7aMWP2Dvm4s2sp+KCtSd6\n/IWjkZAcwIaiFWhabVtBI3N5KFti783e6ysl8b5aIwbABWUlTb1xxTJrL9yc\nxuAbswdeRocmOXjMo7WrWW2oBshi3qUmlykui73p4BOYfXJLp8fznjXNMZbh\nBG0/qkSPGcZIaNQzFB9z5jVGU6vGenFBSW24Ayunu+6Qb92Wsb31+rJImdiG\nFqlb\r\n=uUa7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200626160144_1593187310279_0.7412461716517167","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200626175725":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200626175725","_id":"@accordproject/ui-markdown-editor@0.93.2-20200626175725","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"8ebd867537c159d3580e111868a76893f26aa085","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200626175725.tgz","fileCount":4,"integrity":"sha512-ddl6pLx7ZhYFCJAdGCV/ngrWkBrye8I3OSXofHQEXcIZEyRqojlvUgKrSDMryHy5vESEXAwUhVZd8WDp1A/iEg==","signatures":[{"sig":"MEYCIQCIIFhU/mckdEkk8xkBkxtf+357qf/Pu5PlC6uLWCf5UwIhAJlVRKGaBs/oUsCaDsyGb0QDww8IPlLZSQmcWCTf50xC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9jcLCRA9TVsSAnZWagAAv04P/0qlhnOMpq7zqbPR+v1p\nH34heBIqKEb3T+ObSk7mMwIXpxxrHBtZPOYx8KwmWqUSt0DldbJqSkskGGH1\nvjbICPVWb/ySBm9xSGC88ijX1hWu3SR6kcfLt92RnaXxd42DwzWOpdRYD+su\nKmadgAcdHzI3te134fJtLhtXRUdU7UY6gi2GU73owcWtKpCW8Uf0nQ9XRHRl\nX/WzeObYh86nowOSVRyfNvjy2JZjSMNcxCs9c9aE46K6oiKXBJsYfCNmp8hD\nymbj37v4M7bT9YqHQAqRQ4k/3v1iiWlv+ObhilE/hojRPAoc/O5eK7PhKx3S\nl9HgCfo5Jt6KB3Oimaa4U2Viwri5pLuBQc8AuMbWuGzXKf4Pnl4Gaf2001RN\nUOQlCIMgrZs9jHjzxkTsajTOFQOtpwvPOcXqGdXGLjrQFRQeHSTbYRwO8tx6\nOtWflfqdW2pv/M/LLSMmPO9SrpfPVL3zqB5dBIxXnHjDmgoPV5HyT3QGqSO0\nLDufZIRi0aOEyXFiwsG925Q26TVDy8jB124og0JyoRAAEW+kkIh7dDwdNK+b\nd88RElArCMVqhRLAOYz7gNFgyJ5swWZvBOWcas3QrgvEJ7iwJ1rZK7wgwQhj\nDFX9/F6pRla6EocX346qttXkuP2FHGRxVKW95hOKV/Ed2H4x0YYslAYKhZHV\nDWoD\r\n=ll56\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200626175725_1593194251280_0.9868706211540637","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200629191442":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200629191442","_id":"@accordproject/ui-markdown-editor@0.93.2-20200629191442","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"302b67b14d8d1913dc702a94246439ba2fe36774","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200629191442.tgz","fileCount":4,"integrity":"sha512-b7kzsDGsEopOIEvW/520Z4s3YZegYbfvPaoabK7DTL0rMUUoM3nloD/ZObo1bKnk4RNuEkU8ppGgNKFGeRiNkg==","signatures":[{"sig":"MEQCIEdNZ2cyWoF5fQhYf42RViqYy8Yl6mtc0L2DoLopngj7AiA63eqRFHhWsjK52LhoIyZaUUdyKJdZCyIpo6dTDfRcFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+j2sCRA9TVsSAnZWagAAvEsQAKNZhdcmYJoBhi2PNI8z\nNeKmMDceIoFAL5YdLTrLQnpY5pM6ZLdvCxQMxwc/yZcHBdDfx+j1JlJjB5QN\n0Y541wIcoFIT+BqFaxamTD3etO66j3BMKrfvko4HzIcOjiQ+yvhFQBslgmLG\n2GulpX1OaJz7hJHdWNRqNj7s9mAFC6xnO7Voarc+hlqtqt9OJC2q/MZPDCIb\n3vasta5ILIWI0VRxzW3srlBtuY3ix6SAdZXbVwp9a6IqEWOg98CCTOoYPl3r\nPVMkTQDfLo7R836taEJC1ZaWs/crOdbWAYcQcIYpRuQG+VBL1i5eOEDyVp+6\nA4BvzPU7t+IlzvBm87+MerjOFary4mANy9dpW/2dKI3HntR/RSmBBEpmc9BO\nQdjm3gesqfEz+QZ3CrGBiL2ZJT3AD59xJGDPZaNfHSQAgM28Mj5VJSW2AZUk\nTmLfrcu/ixF1QYPsgBntZ74DqxrPD9gYp0/nZuR9wdfFjWDwJW+GjMcWAsm4\nORryh+s00d8yCcLXJ66vPpMzFGEDPlTATWmhY894QNr64KhFA1hyBAff7DBL\n4CINtWHTGP6vmZ5+Veb266qwAd63HXXPS+SZ55/Cbb8Nl4o20Yy3LKNqPPDt\nIuhlb1ce5xYNs52U0djfFI6IciX+tw0NvEgjohAfN78jv94wbDxdxDFDuTxX\nO5nq\r\n=0bSf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200629191442_1593458091465_0.6961640323615061","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200630153959":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200630153959","_id":"@accordproject/ui-markdown-editor@0.93.2-20200630153959","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"9191bf20f6d04d03af1cdc5ae5f289e065bd75fa","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200630153959.tgz","fileCount":4,"integrity":"sha512-lSkkzf1hHStAsBpFQDAYV5lMsj0We/dthg0Nl6w+Xn0IFIWAj8HC6Gj06iQnrHyRkpbGIVoPpzU7k47Sa2GT7A==","signatures":[{"sig":"MEUCIQDv8AfNMvqPT6d/21N6XlvDonzhzPqd4rHAV0Cz9ZtSfAIgVStmjvMGwRk9Qpk0opILJgWTUA/DihaHBCk+kDE81ig=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+1zXCRA9TVsSAnZWagAAWSYP/A65q9ea1VFrf8DMDLGF\nH1qRRX49kCgQO+QWVXaM9Vw63wVpBbrq6wICdlCeNBC0emP4b3y7JicCGBl+\nwn4FwfE0B2W82zanZqwu2RXTkxpyxY8dBITxhU0IHIdt9Rr6K2nRYH38oWS7\nW0YWyVm+D56sVwP+lwOMgyJWQxwJUb1GTgnzmo/dyQCTIk9MYI8WoWhk7yOB\nrTxE6jEiAEtOn21Obt0Wpc+Yo7effLbiBjsnSsm83Wbhs1GqjIYv7PwPsFiD\n6D3O+1uhi0VxdnuQkmGzcZ+Kp3E7D5SjW8ls8ulSo3P5xBfk732luqFB+Gah\nAgLr2dxJOaLz+ZyZ0a5XkWfexrhTlylvyg0P2rEUWxM7nDihI6R6NrjS9FDz\nuYyyrd1wAZnNtr7NGGXe629khNH5MLtVqXzA4ep6dp8ULabPPUs/uDIhGUGQ\n3a1iIRqgiHl1P/M32/thdxTfPcBMY9jd/IKuIbWJttn9OSAtxhtFaxeo5map\n5AnMnOMklfcM+ZUWUcagAUxuGhNl/icz/yWJYXxjIeGNWu5YU+GH6nYkNgsd\ntdWcLAkJtiH8mpt5nv2Yb7ag97f8ZquF07PiHtvbWAe6LP5uZZIIP6tshWIs\nvDMmBJb4ORbo0wX71hHvKXdJQsdBm6rBVyAvQ3ozexrgKe8r0Gc3rCEbSo+H\nygX8\r\n=myD8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200630153959_1593531607272_0.2899163529241666","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200630165843":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200630165843","_id":"@accordproject/ui-markdown-editor@0.93.2-20200630165843","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5fef01363fcb433332e6bdcd88dccc8550c70ea7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200630165843.tgz","fileCount":4,"integrity":"sha512-5JRfy4vJhDNmPS8TienPv/jhLBOh9ta5wK8/hTGavu6A/6UL7V8xtC7r3fo+ISUOzbtUMzeLr/WaOhz8UVE/pA==","signatures":[{"sig":"MEUCIQDrSahxnD6OxvGL5KQrUOoivGoJXkS2MZEudXlRHdJrgQIgOl1bVjf/jcYmhx4HNiUeYXHHPa4Mze9FArPa+MqTaAo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+29JCRA9TVsSAnZWagAA0z8QAKFwzxxxTsGh7fDD08S3\nADTa9Krj2XS10hhjVdjA8mkjdHb66QungkwWGwAL/geyz9wAecdM06yPD4BO\nTQm30Ir5fK2A7ymjf2A6T/gRpv91koZqUcgzPOt85AIC3DwsaT0C2VA/ZZ37\nnlk5sxOrE1I86wmuV05IBjb3T9+3//MNxdbqVoXm8GbPWsp3tMxZO6Th0hki\n6dtrhtTw2tsLir84UvynuaiSKaqyUQgzWUtPUFeTp4rJ7w/ktqfNl3HkTzKx\nzuonBwfVdmgquukwNHIBScm++yhpAYUV5TfnnLihRl5sq6l8pUwSzY+otPP9\nIJkDUDqTXKG33fIwpomoamuMVRphdyhajrq5I1ECrQWj+l6nwMkvvhr7Myde\nvMtCH2NQo/RAaYneRnE6CuMZ39k1eh3IYwMYalespfywbezOzyDQpbm82fwO\nnosb4vyFhy/0X1+LutuigkaU5FrJD977i3Ee7ESOm1phAF0UAUxBz7m+47k7\nDESjAhAv4Zkd9suD8ddF7G7HwqEf8nDYYMEi18+161sV1Gi78iPPCDENp24w\n8UPzjYfPVRThEcV79RjlhrLIY7GEAx4ndNocqpur32rtQ3geuxjz6puS8ll3\nRrq7Z7h1Mi9+k21jriCsn6JvpqBrEvx1nldCG3g7uMiV9u/3ZACB5spPCKZt\njFiT\r\n=VKpM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200630165843_1593536329333_0.3826162699487936","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200630171219":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200630171219","_id":"@accordproject/ui-markdown-editor@0.93.2-20200630171219","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"23ef7f624051193b4d39a67713751c0670548cf8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200630171219.tgz","fileCount":4,"integrity":"sha512-UOYxnNUABu+ImOgia+Xli8Qj12DlTFb5XLTf9zBincW8ZHEA1NS1CClMoGrPLEG47wpMaP0KZILC6i3unk80Ww==","signatures":[{"sig":"MEUCIQCFGwfeFWKqYDzoETIlmGS7r5vZNn7hERoWk1PQJkMRcwIgY+AfA47bCONj4L5zPhov5cJIEiB8B1wmOMd6vIponoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+3J7CRA9TVsSAnZWagAAARgP/i++0EogHhauYpFYgO8L\nVt+kVgqK2KEFy2PWEKCG3qI8yssxiwqSQgWC9atTHrWvzgF8F4r2qo+zdF+7\nKNmR5TTvs9JvRavnZvQEkU2F5Bjpo3May5Av6afU0aWs4y/Hx2oyrxgAwaar\nrOsZAn2RlENkZIPMPg/z33sch+gqUmidP+8RCybqizCYFcProM1SGHqwoIGX\nQZ2k6vXFICchiXLZwld7pgB2xpQTUZYMaN0v8coasaZEt6bB3zsZ8e1BjgWW\ng/xya3IlqRbE/Rv6gB3ZtpYexHEW0U/f9mauG/bAQCXQG0GztkIGjtzWo+5Z\nzntMCO1SKstCAW2RdU60pSCGi9UpMC1ksO0xKjuYjEZfTlMK0svJRofC+C0n\ndZx1xQiBKGPecvahIpTUF+6/GUOkUj2nSKSerTPnDKU4xpmBaJfxu/UQWlSo\nq1Glt4zgapEf0TEKhBbVqT9kdc+jYEZoRVCnqj7jR76Q5h8blMV2iLuWt/fF\nPUmHw3T37Y0ykfHFGw0xiSc3vVIkfImGoC/XpBWVlPqevV8oDCqhUloKSlDk\nfSjC/UcdhuGAcyOOGqCKiMSZEyBbyeYsEWga1qWtPgJoNCqKz5N2mi5TTU8P\nz7nIuGxGUURcx/CK+RbbSNN+8TR3q7JvpqBOSz9ZWiUnettbuyl8kzYo+rzZ\nvGtf\r\n=ddVO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200630171219_1593537146823_0.4947883979164578","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200630210727":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200630210727","_id":"@accordproject/ui-markdown-editor@0.93.2-20200630210727","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"fa7bb171164ca8d8fc2a5557fa5f3ce1431d97be","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200630210727.tgz","fileCount":4,"integrity":"sha512-QZVAC8wsqlDOX7SWaq4WG1mdUKUAXYm8W7EFDzE1BGx8+WbHUepMob/DrdrPluhmcpf5D3o0wnLQoSDgnudwWw==","signatures":[{"sig":"MEQCICjhfWCVaUHQm/G+XfJBD2myQN2RN9j9pbIBy5A7oycNAiBxx/cpP1mga5hgQxXDeP7YhAVoWDaV3DeDaHlSlOiCqA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+6mWCRA9TVsSAnZWagAA558P/RfQVhi4OSf3GOYnep+T\n5N3XIiFG6L7iQLiVzAeB2U5yHS3GIeGWZwqi6P+bAATkujJxkMGPX7iK/Sx6\nXGlzM/AcKanigtTUU0LW1dCvkUzf/ARx3U3/0Z9+eyellqeZrkuiM550KiI/\ntzAhNczBOkzQYpSawSuzHqgdZ+mEe5cbSHAxvR40D5lQBGld2wgu+CiuHzHW\nhiRF93g9N8gawLWIYPP5TmqT0XZk+du7tgbVkbkGgdCxSh63ihlJtba6Nkzi\n+wb3cW/upBcP1adqPN/IViYXu2dCfzUSqJNHJezKRe+W4LEVb6OpIzd4/pI4\nX+e/epqHRucb9WQo8hO0HHta4vIWzgc1UltmMlVEvLsC1P0XiQmBHO+2H+JI\niigZhJrQSsXNUSML7zcmc3hEXmLNimn5rcz6pE9WMRbIChwzMqMFg9go5bIi\nakJDrhnvKgztFEVWzjGxmhSAiZWlN1QdNEvHZX37pmYFmO4BLRlGHKhcuKUt\nb16wVFNCWSSOgMCsgsPlYIlCG1RPJOIcCG9ZWewjZAyCjedOGeUTLStk5TwH\nHn/OPYPlggHjd759gEBfkGr8EpPSWo4FaCOzRkx9ymD7dtyWlyyHHInnG1ak\ncPmlZELLZFuXuV/F9GlMIF4rvIBrCw8kQ/11YbD8CyYgb0i5O2Drfn2beUeM\n+/th\r\n=qGEO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200630210727_1593551253721_0.7206478154740881","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200630211622":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200630211622","_id":"@accordproject/ui-markdown-editor@0.93.2-20200630211622","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cbfe8b82ae232ee6a1a7f5150b66c70945c2b36d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200630211622.tgz","fileCount":4,"integrity":"sha512-LCT/V4tpdNXxwu9nypodUeR9guvHvriDCBdJz52p/J15cSc35hOq+kcGpGaQ4V/bSkdET5+KhwVsUeIwiyzfMA==","signatures":[{"sig":"MEUCIQDGy1TXRSHOi4s3Mt2dZnnNG7jVf118nzL1/q77+Ps+HQIgeJqYUvuR/zk6qFEiLun/JCmekar1+520/VMFnLwvLNk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+6uuCRA9TVsSAnZWagAA0bAP/04oiC92svaqvkeAtOAz\nBEos8NLTM1dM48hPBUgxxiB+i7B6uOdPQP8gd0n5mQnP48W6aFXSciOSZMt4\nmWPy1WFmo2gtfSLgjverW9b2eenopudcPINR/R/nLSWQwSyeBKP0nE3yt0uU\noa8XpTvghmGKCJyP1j/upwlaudgE3z2h9hB4lfl1h4tzEmz7g70ofc1PRSfN\nnhFhAoALwlzPS2b1qNydM2Rinyug+TR3eqVw3rxsRkLKbVivrKTqHaGXzm6d\nB8TO7Gc5wW3i/AG2MI5XPfoTd1QgteCFuUuRvXLsGrOGLHNRk7cX2dh8HWpr\nGn2UmFLdEoV4SC2i5C6dyvR0k7i1IP9gDfBmyKnhkG0m6nKgIg/z797VuuBi\nhgk6TAXdsmw2r5T+DgspunUwrZcG5RSyf1EtphQnbRzWfqFckeh2QW1ofoF1\nGWeZ3sKt5M3lVbH7eqxGCWkkFz3Dc1s4QRVtAq5eqsVpw19RcLykiDhbyVRb\nH6PHdOQ/dSo+qkBqoM6Z3YSvMrVYfwz0oUjp0lX2WASzW9nvVzuP5cYg34W1\njAyOpanQkFD941cDp9YdWoWnPdeThbWSoE8Ida9DCtJyMnSeEL2WZyphHuPy\nD14dtqQhcQrQNqj5weI7fxfsW8X1vyCCGa3aaCjzMVuZm5UbNnwIkq/VYpw1\n5mrm\r\n=h4dX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200630211622_1593551789867_0.05338118856011609","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200701225837":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200701225837","_id":"@accordproject/ui-markdown-editor@0.93.2-20200701225837","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7cd01c8936f05322fa3695337111bd5cab6baec9","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200701225837.tgz","fileCount":4,"integrity":"sha512-WeO86Gr4WKADzlmxicmBqJ9VIH2XKW0srjZ0GcdM0G9TmIG1cWavGtlbfMJ0cIK/9+HySbpj36uU6tJXg/acbQ==","signatures":[{"sig":"MEQCIE7U1C+hhDcjsdqdB+nDlGXFhk80WPhKzfh18sLotMuZAiBNXZT+m03+x51eil0vS+QmRvz6amxm/HWl+9GrN+/XAQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/RUjCRA9TVsSAnZWagAARd0P/11IvecVrFBfmIcTnaKl\nOo8OtJEVub5GV3gBK1cmBDWsHRzVoPKFy75ps2O88iy/Nybb7duZCE9bg5or\nrjBwYMuDom/uMH83DkAbHRB+7PBZ6uJmno5Qifeg1wo3bWwa7LPUzRKcafoU\nm+5ugryshewbBuruwKvvnJ7R0xIjST4yB9z/CPhpMuyP9B+xn+N9rPnSbeQT\nfaQXL1Xp3pnqUQq2Jmjkvn6FCLd5aqYnoWYiGA+fApicuqCUrIWx07mFzn1s\nGCSVohk9GNYBncG2/sN/B0IqXCdD2kRWKIFqFhBx6v/SaTLoHMz+4UajY1lJ\n8nUQFuo0pMXyr0wgwW4nxA462FH7knk+ocETtnCJPBFv3IJ7E3PHokc4sfnT\n3OG1vpvX0vZt8Emfs/Ye5LB3Z4sUixTRZbSIS7aqyErFhI1AZhQVjZ5cdOj+\nDS6rNZsuIzCtnGOA38NSJZ3n5V58wvjUlc2zRFWf3my30qQKsK8PS4ed4RDw\nxIsxoPOMyGvEuJKNUINW7iquo14Y/6jw8/HgPmv13MRD8wZxZP29YSWxirHO\nQFwUI+aLW/vh6vQNQLjHsR8wBp2q7lWOzm0O/ebIzuYi1cx1KAjdfrPU3AHJ\nzcXHnbYbRnsaJREq8Z44wPanSyESg9cyKuefR0TytuvKnVL4CE4Wxq7n7UxY\nsdRq\r\n=Fsr6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200701225837_1593644322981_0.05163739209993112","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702133318":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702133318","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702133318","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"f4ac2cc42840cffbc22d82503c205cc2b9727761","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702133318.tgz","fileCount":4,"integrity":"sha512-BmsdsjFS/5U4ZApULCOilVj6f/XIKagIBJYKUhTD4w1uiJbp9yekRRnYfs2dOb89Breu4sMrrn8P6y18/scCOA==","signatures":[{"sig":"MEUCIQDAl+PiL1wQv0QlhFL0bVdmCVmp8dw7rXf2KLMj9Hrj8AIgLKqdq2Dfoz7AbLZcyy5CY/Bd3hJImM1lZknX9daFlOE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/eImCRA9TVsSAnZWagAA1hkP/2sVuE6YWLzUnu8KAdsl\noLRB2v5MNOw4WBX/Tal4sM9c5tWF4eWWaQ6MDmPROmlb+0ZZ6VJ9gqP+b3G4\nYf9S9Sjl82sue9zh4Ls/qbklXHW8RIVkRicZPeVwwJYHOvRhXtlzCfLVXx1w\nBrBv4r5HTEWu554X5z6gvmz+BM0k/1R8LwQl9l5a3SN59u8SVHgTFKleE7VK\nIUaoNFW7HRaT7ICz2EoTKv3/hhv75JK4kqHYo+8kzuHQ9+YQvx+kCdlHzBD6\nKYkFuQAuGd411lkbqTvNq6wQKmsTKFWqrM9mHeRvYkGF4a3FqkEws+PS+mV8\nnciUO2RUF6V3DRo3e+rsq+dYq5+zFQok2ZMq7J62d/8uDJ5GBWLLPQJ5MCcd\nNDveCJ80b94921P8hhUhOjQ3w6vDFsu31iPbZl6DjnRRNelCg+YjIcDufz+Y\nZzKqSejXNvDj/uFAsH9bouBhrfPj33COHX4UzwAN7FPm8c6z+61z/sQny1IB\n8I2GAJ2o9yAVY1laFbQfoUX7RxWMbw9USG1Op5SMIg2yOIMFtwzdVUY+5hSv\nthwFi2XA25apk6Snmw+8gMU0yz55p+i2AlYMGaZA1f7kQKzBSRBA3RlSCggn\nVViusE6Sn8Kb+8e1kCr9rZIHOeWoWwZJ26mP/C1A4GppPVjaUWwP+8g+A8de\nRoK1\r\n=YtkO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702133318_1593696806087_0.5556462362716057","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702153337":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702153337","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702153337","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e79179d05a89083b570656a51de58190e195980a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702153337.tgz","fileCount":4,"integrity":"sha512-za1sZB/SLn/G9GtguvSc2popGIc0AGy10hLIxrlCbTHK0M2qXz5RdvQxLx/4ZYn57LU6gvdbCcAHLhVTOITBjw==","signatures":[{"sig":"MEYCIQDOHyp04l2fyZ+y2CLgZr41AWeqTxNoK4wYhgoRjrdfZAIhAK3i9xGoXYHNSvflYB1+DXWlxf0Idg2k+HOPFmrj0n9E","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/f5XCRA9TVsSAnZWagAA9oAQAKE3QbHEhGm42Y1UMJcm\ngS6RtlT2+alMOLU2loN/mr2bQJZUlUZ967HPtqFOMfAEqcISnEtk4Bg4IL8Z\nGr3XrFF64+LGueFJLc+sROevPW5VCGD5i1KvKQu1/lc4x7A3B7OM6zzKaBrI\n+xjbhMq0A8oZWggophigAdKhK3E+yn07Yc89FLslFc0BS3/TxiLosKeMIt4T\nTBHrzIoVjnjwVUBjbUEQiMpQIyrYZJi37sADUAZt1Mb01OOPitFN2Q2gXDSZ\nqF50rS+goZeC9O71mb5zg6hVNh6osA5L5JnxD1Y/pD74J95iZxauqdHqQe1X\n+GiVxJOiuYLPgNce8zqjEUfGXQE3WJIgQGY8ZrHrgwsp/mYFN2IYTrE/go0A\n15L36+6LNxZGkmB09zLBbNPy2zpaHniWP87rTDlTK0JWgWFhRYt1H73w1UYs\ntAAVZ3x31jToI1nNKmhxRv/KI0mrumfG4gkKCnJKIDaaBpdRPSw817Xa5SEv\nG/YZU4y5uR59pXanVfUlhMzRfkE2aOx+1Wdgv4znkPK60rinf6s/YnhEfzuB\nteLejjTgxbfdsX+lGm/UbL1P0OxZs47JTGGudpuWIshjowcu8agClMaJhfZ3\nXkTPpEuz6yApJWFFdpgdZLAXc5vF6/IfnTiIYiWCH98Aj2z+njTa/laEy8Ac\niIE/\r\n=iWpG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702153337_1593704022869_0.010362731497727706","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702153615":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702153615","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702153615","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7c1e83b5204a53714425f75e526be19f8394a801","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702153615.tgz","fileCount":4,"integrity":"sha512-V+vsmS2cP9P4dhK4Zu0lPCmxm0elZzIF7NT7+LpF3uSi2oPSGQ1I4+z0DfkTTZo8dj1LwMSZLt+D+e4Hp6VV/w==","signatures":[{"sig":"MEYCIQDqvCqvzYE8AR5LGZOLIdSztyK8PpEmsmfLLN0gmK17xwIhALSlcaquy0N9M+NNiMDqG92rYdbvm81xg0AQlUt/qU7n","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/f70CRA9TVsSAnZWagAA74wP/iL+xouKKsDnewswx8uB\ns/UWlMrS+yR7Fafy0sU4fJcrV+6ZNx8bAuBCm9m7BTV19UIt2o2KRMrg6ykA\n92MMdqmdp0FLwEvwVODGgahOl0x3gHZfT+hWsNK5ObRsIc0PtTJf6/ZC5kR7\nbYzvKrGF858lr9dxfnwjPsDGnpH7zvPKmYDFbYiWNzBNXSBUWbtgglXuyFrA\nPMH+ifo9NhkUdm04FCYcFEKZI1B6UhliRqJjE/3hdYzHc/hINx0X8sMCJBYs\nUYVMjKSNNAc8N8hCrVj9z5M2HQ3TMvYcVIdEvcverhhc/bvQcrYafox9c2wS\nzaxw75rKRxT01naAVYixvENRQDt/G/BdyL1IZqwg54i5UkRDBKQy5X4mMCZh\nTFfA4mXTHCy+LHrfPZVA97PYtH05zrbGuAY6KgaVUP6MUS0D6lpa/KE+ezBz\nP3hH+u7R+yfLo/eQggoiqmjiRwtdeD2Kx1qfEumT4uusz+HCItzUM3gDxAI5\nwAO3nFvYv6UrZAuI2wkcLJ/tScv4hr7M/cruDFZXGXWIjKsqXTlfpsq7BaeD\nJs3KWmO7T7NBBfVuQlp8sAi4dgjuz6CJdJ8jiIfuG4Gh5W+SgKx+b0I0MVUp\nwBIRtQ7w5dOMAv8fy4GXIBKlVqHgJnx86rCcsUssz3FpeGeIPyQtLWFFMrsd\nF4Wo\r\n=BObv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702153615_1593704180590_0.11355173506013538","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702180706":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702180706","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702180706","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"98d8a807a8df8c1b1182b660fed6e59ec4f5c442","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702180706.tgz","fileCount":4,"integrity":"sha512-aAsHgUvgn3klaya9AvwFpVA+3grnO5Shp/TX4uHW4G5IycxiK3n4a63v2VGkAIramMcJM49xK3oG85tkQLoliw==","signatures":[{"sig":"MEUCIQDhSp40Myd7fo+AE/ozssmBtKVu89aPVf98v5nuezC3jAIgZlszzOJGSc0VFnQvs3L802mF+AUQ4YY+1K/EJ6XHVhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/iJRCRA9TVsSAnZWagAA5GEQAI3B3dQdoFA2lKZ4a8B4\nnduYJ4sJBZmefo0L1Ehyu3C8dypmfUkRIBLVolWN73M1DEDhKsh2SzGpPd+T\nVuMJrSsIpPRyNwp0mX8QLEy/ZynVb5FRCx2cT2/flJ05/ptGckOl6clWwdpj\nFB4TCQWE+sTkxsqXv5fFJtA+z/jFmymHOEnsbEwlhNZDsl/eJZoJEORLwsvy\n8MmRE1IoYggUww2eXmWdeds7QS1pvmE0C5E2hmbsL5EqOGYBAsC3NV0O/JTQ\nVDEvtNAfNFSm37ZnTZdomLTBzQqPEdl6F2C+yMwJwyPlxfuv3f01hadl4xc9\nxlfKUC14kBi3YkTxjwnfLnlQ/VQAmBU/bQkRtvQkHHslh4MVMbO8yWyG5bSJ\nZlgyBRZXZokmOUC1q8xVIwGGuArM2ik5SpnGIxJj8XJi87A8uIg1AkbC8Lsv\nr6rekPUJgMcDy2w8iKQUopFg1A4VNyukr+AGdiQLzmQPaiX5dht0Xn7/qrTr\nJXvH7LummmLiMddmQi1rGjr3Gfjy6NNC2pacXiEaBlnlAmDNDQSASj1tfAxx\nF24+5ifnLB4h/VAV5uokt88vBy+b7XNRn+vxBUp2BGgs3kiopGyIeGOLSKz5\nxW9TNWcBZ89zpvSzas5UP3WhnAeZv8PRcrVbqRL07V9jB/+Zhg/pv2s9s3ma\nYOVd\r\n=e01g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702180706_1593713233560_0.1452302995853363","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702202940":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702202940","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702202940","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e1346aeb39c9e65fce3d0941f8fa05a1d60d3468","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702202940.tgz","fileCount":4,"integrity":"sha512-cKfaqPcWPbFX7Hvq0kFXR3W03gOZqMWxHWkD7xbZR5SFWCOvNXC5jqX3mFLzWwVe3TtTHtOstwWM5jQFaOBq9Q==","signatures":[{"sig":"MEQCIHMEOVSQwbXF1VOlfKQt4dU7y9+MSZUed5tFDIyTjdW+AiBSfuRfjZWhNn+tfoOijFgkXUm3HPUChirdU68XZKp/jw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/kO6CRA9TVsSAnZWagAAPZgP/1tNS1hyhz4VlGDkNjYy\ntzp2AZ6oPSjW9ClaXIhgFs/7Y/QjiP5Tgf7hn9YgTd+QSwi96UFzKS4iIzsM\nyqAQKErtA9aiZkwJiIOZYhDv3bCO+fEeVLjA+kIdVGjCGjdq9LSLTZrxe5cr\nFEyU8XdrAshsXBsH0DikzQa7nCXU0CcN+gS9SAeSEEjUqJbRxvdEmyte391x\nMQAbOUAPQsKhDdn2aI5sJRnVfg+L2PADt71Sdq530Uvvaj7/fYzUYDqQ7cGF\nXFzoUCgq5KiR0CN7aFmwbHnc6/3Gu4Z0l+HlWIuZgucExP7wufoKPOyOmqxK\nU+zCaG6a62NpvzXFChjBF6nikhV8JKUq4Q/CyVU14wUZu6/FJMK0cMGCJjT7\nt7n25siAF5qatCBYULLcrfRzxm6lgp0l/HuItBsldnKXUN46Q01pCuwIAfci\nXtzDG/UxnCcFzoGLSd/ywE/R6pjwe17bVfN8RXZwknI7Pwypv1XpUJMrmTZf\nwQ+gh9FAShEAMrStTqnETehSwhRfMPAPmt7VAaYjtiGuRJMq8XIjr2atVpnG\n4qFK8rbNotm+fKxusX8uLF+g16e+IMfSBnFkGEa6/WTVWUXOe5hFYmKAiG93\nobqkJPFBNMt8L96p4FNr2Erdy4RB52/UoTf7kT79HWIwhnAPz0JLj6aH5PJo\nWA+K\r\n=E1T5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702202940_1593721786322_0.18954082152522012","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702203400":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702203400","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702203400","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6c812f4e582a45cf82ab01cc530a02378a88deba","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702203400.tgz","fileCount":4,"integrity":"sha512-FnUf6hMKadJud5nQxFhAJSjewNm+0oGq4OVFSFDe5LyET3MxK0tv9PuxaXU3VrbeGv/7LW+osU6O+P8QA23+bA==","signatures":[{"sig":"MEQCIE2Gv7rmi5pJsTexfrS2MXO7bTwV/Zi/1K1vGy/sslzKAiBeJWAW8E+qhilbORnIYCdxju8HW+w85ZBjf7zhaSp6Xg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/kTACRA9TVsSAnZWagAACx8QAIp2y+mfqaykbdPZh1QM\nWPE697tqkE9+BophGtOUk3NoeQAiGDTJiFXF2YYegtcDOXp31msm/NjjWlzG\nb0hplTdeqEIZ7uxR0Kd+duTUViJSXVTm2+f2aSJm4omJNBZIKsKvDyZipubP\ndIyS1Oj3DzIWkJRUyMOk2Gr0BJWK9MfKfhdETI4yZ3QASMPnqvgtdPSjUrCh\nUQJjB334GDrB+gdMtFU99rmP4RaGO7QYi29hjYqw22yIyYSFXvsILF/jKv+p\nx2STlwbzto8ZWjIS3uxLBxD24n6b1KCFlAqAjaigQLZ1shNP3eGxookF6w+t\nvTnd3KcdgRZOXZ4VetNz1hgBV4DPGpJPI+MNVUzLL8b2u+uEwVgTh++aYNT1\nTc8h001pePecDOJuF5KD6X9nAvMBwUipCR1TRkcdtkfpdXmXeBh8bnNWn72T\nN3XRooTeAmoRApN/izDwZ6XCrVQ3/ltBE+6maVEuJYiwI66C1D70lLwwAVOx\n6PVZVp5/UL+1JlfuDZKYno98+TYB8i0KDgRq1XrWlsmhlATO5yPa/QwsT20a\nSnvW5RLGjFGWRyMd85MsDec5I5/ELMY0nA3XB5de9umZMAS7nzhQGu/cpt1B\nq5A3UbCa0eiAcnaD5FUbtEGEgDWtURkwlv0EHRiRuHcupIsWmDrJi5VdwQpo\nGXVF\r\n=jyXA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702203400_1593722047672_0.16881685257215184","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702204735":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702204735","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702204735","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"608645675ef4b7cce30f40d5fdd2f88b0a965720","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702204735.tgz","fileCount":4,"integrity":"sha512-C5k4HNXBj+wCM3MIHqlMVtuwdSbLEwXfhuq16a/YjcGdWBe6Xz0D1P0dpFoYhvygnf1j1i/yctBDbqtvRxanZA==","signatures":[{"sig":"MEQCIFAeUiyczv1oBX0PvYgu0ZaQEEQEdsrX72JoPm+ga/BbAiBNU4ihjfIveInjN3r/ci/5xyoIBBE5FITkb1Q1Yv6SWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/kfwCRA9TVsSAnZWagAA5XEP/1eBf6Yn+/aumK2iOiIx\nnzSmob/HZYFxVxSTVBt/pLNlXHCLKg8/864dtRcmhmFEB0k004FDbfNmFKdJ\nBWCKp/kfHNNtitf2Z5yoeuyu/TUuN4E6hbyOwylhaBmHaG5h4kCq6FUc5yw/\nOIdq4p0QbyrdV244mECtEkS2WfpClmwui0A6ugT9GQASXhV8QgLPG0xKzwPk\nARF6cmMLyqHg8J5D25Xo8HnW4dhTr0OUqcGzp8hnfLCzVLEJ2rUiDim0yUtE\nfT/hyeS5Le5TPIpkPo0yEcM2cd9HhfGtufTxVTeGT+s6bpgCmHjThJPLAjMm\n+c2SaiH3GgYJIw4WBWli7fg9fig2kfhoJhw7uUNN6rHVExYLyeaQiNlcw9x3\nJ8L/16xoP5fFCEpx9b2lNeXQu9OUsg6nTXIE8PbBYD2AZxfIOyuc0tNp4OpO\nzZYWYnftMXnWCleQEgHiYIZNrR7RyoQPxuifK2GBaWvqEclwB9rBwM4zCjld\n5nM4y4KYzbnyg9iWhIYprguq2xvDqQaeGBveh2Rpo6bavu/4oPOys2pVgqW4\nUzOZpFgjHUEMhur0XqBADTUjiht5xo25+tlxE3NSeamkUiR6qhw5k+z92d1t\nLupr9hYN2TH1vC14AZ3E8tDMKM5w6nus3OO7zau/V68nvSSrLid/N4x20d8Z\nDqQ7\r\n=/sgB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702204735_1593722864452_0.7004227237193186","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702212005":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702212005","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702212005","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"ed6c13cf5f9e7aa376bd43788d11126d3b9a223d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702212005.tgz","fileCount":4,"integrity":"sha512-EQ0jhAJMJApHsHCO9E33RpjfvRAf1QRSB3nnbkM8XsUZi8c69zsK9hg3esxmn8jWxyKIzHGu9Aa3gcjDeDR6cw==","signatures":[{"sig":"MEUCIFDG2agzQ6V+wID3wW1qEi2fj2UYUREVhjQNgjPunGPOAiEAyQXCyvT/p83pOQPOCGUDV/60EJklTeY2H7iwsjgOBg8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/k+NCRA9TVsSAnZWagAAhokQAItuFuJ9k2TPBLrOgciw\nxyKvvVIs+DRpm+oxyFjVWs7XOJvxNiCrTxh12Vu9CNxw0ENGVbO+41FFlCD7\nl3fq5gIn17hrYzdXfhAMIk9Q6I/oU9KhEArXxN9J1dpgDXRG3BMEj2Q8crBt\nMKb/0Lv46+JlTdTzqMO9mPz7CT5Rt6DF90sQ6OGhHZtd+JbA+5zB7yY5HS84\naat07aTnid3pHo2nvccrrBNFYiKDDdqpw1Y3++Tu+zsCFSIGHY0ij1RmX9xr\nktdAKtNEdHCwGPMogWvMuPdQUGlfhVHp/S96ImvyGlenNGjccSzwXpQdjFnV\nHROE11mVCplbN9OZbk5lBvqJSQhJ7zilB6c/nAA1BAiyuio7fecg3uxxBF+Z\nWkzp4TdUEWDEpqLnm6cdubZol0K2Ur1XjwpQVdWgD8yzQZm5OLjK4hNMpU3U\ntT9hd0B1e+sjh5S/SvsqUwEl6oGSlbIdElINNaOn2YOqo0fj/ZQCkYwvmGvR\n0yUbm3pm5rXpCQQR5NmP0G6xO2mFV/bsj44tWjd2obpcbK/Lcb90fis4iwI2\nB+nRCvT1ytisGX0YMOddxRPWcFf2G45AvN0pYaTpQtXzbR7LpUKHfKrhPAhT\nlPyrGIEMdgHtOfkuACkDaPrFTQ6ENgEtE/WWgYrsv5hNhKMedRly7KRqiAY2\ntJP7\r\n=GeFs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702212005_1593724812684_0.32916488322164006","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702214552":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702214552","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702214552","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"1fb319d0be0c705fb76facaa13b35d64a01d46b9","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702214552.tgz","fileCount":4,"integrity":"sha512-9rbN6gKPAExkeR2KipRwjRwCBIm9Gc4U7H2ObojhU60sxx1HjJOozcZLJm+c8rqdyggJqzwpAS3d68i0TkjkuQ==","signatures":[{"sig":"MEUCIGd+5NkZFwkLV7x+udwe0UOPkYVgtnxj8VxRDMU/D43pAiEAtHcG9VUaUpST05rbxTvxXIliFhIHed1l/PCwPSlRYj8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/lWWCRA9TVsSAnZWagAAd0EP/2/X/q5FfIOOUOFer21e\nMdpIdzNwZZsaFLlOekW3tK8tAfRcmdgFh5TOYDRa+GV8ZxNVuPTDy4m8xCD/\n0JVfH8fOJm5nx7my2d8nqwS3uVeR4yuegDL7B9vG1yuMINN+NYM6U/wwXnOp\nBOsu+xTVkhQsJl4/uDLJtbwA+q+oftg/IPw8FSBwpOEqQDsBBCpyzApNnDAF\nPVQ3U/fR3cuslK2u1Zkx9HWU4PSK7IbjcqIWH3mJ4ieSvTAstcLmlygSTb07\nxdt49SDv65KRnBbPTKmmv4zj1IbZ7rfU/qSaFM91k4RtTu48YIfAXC8yUWjg\nDWw6pPkGUk/4pyLv6MgXsl4w9T86nud8VjEAavixRHSE/WTkA9kiICZM8hJ7\n8B8Qnv+5/2rSLsAkpuQPMltZ4sSH4kQk3tLNnUtqR55xzVInhGWqfgF90LY8\n9XgmhoxCeoELv+oyEmCeFOhCr7FTHdWYs+Cs5BcxZgIrlsU2XYPhofw/VQt1\n+FlzxlgcYD/QmUz5tKRfoEef0zCo451jS2zbjdAuB+HLFDSDglesrToigKAI\nggKYz0pCNJdCfCV8apprZQHsMkKjTPEg/1Fdd9GAVhlE+mYwpDTSHrThT78t\n6qWU7m1tRln4NtI8CMNjxAzqKEM2WglVfvfpgBTnD9h/Cm0/gw0Wb+Uieq4j\nMsPP\r\n=ZO5d\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702214552_1593726358450_0.7721852106551341","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702220851":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702220851","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702220851","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"861e12c8f8104a7e5bd8b9927b683a65a6496bd7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702220851.tgz","fileCount":4,"integrity":"sha512-I/mjf3viJNc1ieF2bTRA2yAby/PV68Ii3Tn0kEcVLyikkbMbBJnN0Ahsl1UgxEKrFUdGo4+2yNAg8Fm5vuP72g==","signatures":[{"sig":"MEUCIQCW6b7pKJO/lcvnLNThm82Ec0kely3lIMAJz8WCnn1V2QIgebRJw3qrMRn1DG6JRrwPCiiFQGAUdaYQhsMDGOf8U+U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/lr7CRA9TVsSAnZWagAAO6AQAI2xZjICJKlrFxWyZ9tf\nRV3eUbQAxOUUz1AHpEIwb7R/sFv3zG1NA+wVU3JIDK2d6iB0niiAT5dxS/IB\n5MOcppaUq9kcTYtROgc/Z7OX6E1iQKjV2+sgeq1gDnzD89CZa2Fy3zZS1hOt\nlQRmtelKp1gqn2U5krQPM4Ks2HlfHGQLXyVYuEFvcSHHW88wCk2Mh0KpYwlS\nC8ozfVXIlZYV/oSCarqwM6orwW7ClM1z/eGEqB2fyn016PjjmR6qkL5E/OHX\n0q78EN00S9BmUE95ho4q5kw8/6j8iI5+Au31hK4ykkRDx5n9rbiORZaSVYhM\nQmwUd2sqMz+1z5CDAcbPxFNLMMIz85bpDuVTdr+eopP0d3OB+CypnJaARsvr\n3Cxd8ZJK1hokZbdFQadITRbAVfUdnciSqj8cJF7pIB+3/PpoSvfSRToJ2aMA\nmSObKb4xQCsTh6VtdRWx64cH1oGMwFeONv964VIXJe1DMLlOtx3WCYfGIHv4\naQoQWChY+0sOUL8+vcic/oRxsK2MKy96SHQCbbtvFyPyBo+EbOXXDp4NAQZr\nOK0I3YWBL3kw4bweykyMdOxQefsY4hW4tdgLlkbKJ+qDQosMvry6oxxvLer+\njF3QMHT7sCUG2i0SNBKgSl/o1AO7PvE3JLnUrnLXhxJ1mTTWslgUJVewRO95\nF4EO\r\n=Z7FQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702220851_1593727738612_0.7369909080697414","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702221230":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702221230","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702221230","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"02077a48732ef64b8dd6ee1ca10027f29122d33e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702221230.tgz","fileCount":4,"integrity":"sha512-HWwG0wziJftGjpuSt6+5nIc/HVfijXYcOjs1kRAfHGJdSas2eZsLFTbo8TF0BdJtboPY83YvK5aXhpEKqD5iWQ==","signatures":[{"sig":"MEQCIEofqtCXoiquTx1Z1fhiuTov1wmYgo8oRF45xdi4we4nAiBaxXSVdWMkz3DBo3kwnE4TOlQFxA3zIqhv26IFE5GGog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/lvUCRA9TVsSAnZWagAAaq0QAIrT0gVF0jb5cY2f3Tm/\ng5tv8kyCqICUvBXxPg2LPHPSlyoFkb6c/PltcQ6xMFR+7JGJpZp1nxy7fYJK\nKgSu/OQsDoJtbOZWgS97OpNoD0/6AYRT6+vIpFQYZKWou7EfnlxurXsLissJ\nPzPthYI0px2rnEYKK2Ix4Mgx45SQ5WWywqD0qYdBp495hME5fPYtX5ZX9/HP\n2N4k7Chc7bL7KfYbrdQMjAUfUM5YpPRyc/JU+xU5wYrQdEsbSvVn4QczAL3t\n2T5JXh7ciXSmlLRrUMz4++9o21oWryQhl6QR/OKC4dUPkZ6dv2lH9Dk3Ccaw\nJ+CN8nQotGln0wX8j/i5OQUyFWhv8xSTiGH8ZmtODTUs05fupvbokaR+Jhxd\nBBb3pQD55Y8CqJ/Q51DqM4n5GuC4h9OdINsMg/S3Lql6zwKAcr489I1jvDBq\nTNwvoVqWm1BAcV3OpIZTpln3wKxmWC11Yd1fHyJ5bHDTpxFliffM+Y35d/eX\nsz8Aq/ChNtf0HkTF70qa6UKcBEpY4L2BLBQOKezSC9zk23GavgUzpRFhovXC\n+K+tZKEXeovegefGaCJf5m8AknXj9b/yLwAu+VS60ag217NIZncu6fD3dudM\nhTDYylMAcZnHh4rEsXaD9U/Ts7e8YhF9HXMkD8hJl8JQWd2JLu1ydHQv8cX5\nO94L\r\n=9Zqe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702221230_1593727956531_0.3048230826188676","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702221818":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702221818","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702221818","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"aec7548e12d5776c5ffd1012fabe03d595e7465e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702221818.tgz","fileCount":4,"integrity":"sha512-m3qVG+qF7Cqb7Cq4kCf+2rDbqhwMpXZjB48OMJPeRt4nw/wOOof+RoE1fxuh9DvB1ESRRmNUtvf/xYRlNU5Stw==","signatures":[{"sig":"MEQCIBBAtcnOqsfDN27ZrEPITxpStrNlVXLw6sz+i+b++prqAiB8RtEpK+qdlmlTOYvOhmEEgRIQbGHAI8tObTAqk7dZVQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123593,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/l0zCRA9TVsSAnZWagAAMb0P/i5bG+9vfw8hh5NymkEI\n94jvcPwR0iy7kNt5hP7Ne82po85B1YGEgI0wEcNXJZgjIGAkczRp/WFeeUuU\nN1MIwXL5of+Pe8DXr4RGE8AsQDVFqtLTQhgaBp4JxARi7m9azJBXC3gVWXZD\nS4bzY4SxnJL2P1X4w0Noex3v6bTKNAT4tiwAL8NzHIGM3ZSRAxu5HcFntE2W\n0aT2VJGm9GaA+Em3Y0ImcD5CQ2Zfs86USnV9eCuahpWwo/mvW7CetTSLPcTv\n3+amRe74NLgdnbx/nNwOQtOHYbARLwNtaeWWrMpni6XQrApj8+2h6uDdiGE7\nnDQ/ND7RsUMNqnykII6adXM2jBBvC/mf5//fNdeKTIQA1lto3tl2psAhMbud\n1zAZzc/05Z8FYCsqgJEQpwj/Dw5qxP67oEWAleRx3txxFweYffNjbdoiyUtC\nlW7mddEKv/XB7mqBZUbPWtv0h7FmYaUGu76o42IXjs6FRB5+S570cOY77Nix\nP1M5wzHrDWNRZc2ln3TSYd/0GbkklD+7rYKK9nQBLQIwVRnGmwgdnmcFVa1m\nPW0yNRJOs/EF8pd7zFFEs38e0m3tMzBZPNYZbmPuagPm9LlPGiEVsCpqzUS5\nVMX+cyQ/v+y/IHA6tWBBD2KlW4fKNUEvRhAcVHQrpnf1iq41cU5g7I9DIJ36\n1t6s\r\n=UMPz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.2","@accordproject/markdown-slate":"^0.11.2","@accordproject/markdown-cicero":"^0.11.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702221818_1593728306562_0.15287221607128032","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200702223836":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200702223836","_id":"@accordproject/ui-markdown-editor@0.93.2-20200702223836","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"2b44288a552b7cb6dd4099697f7b04af45963f0a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200702223836.tgz","fileCount":4,"integrity":"sha512-sOIsd4NUdpGPzliu3jff1Bxng/jfNg5BoTpwqfsKMGlQVKJNr1zY55GY1Zd7YyvcRnT2MmsJgq4D4dw9sEKOmA==","signatures":[{"sig":"MEUCIQDqHfoJXIuFeQqyqp/iJsBVOdBPYxIDSpcQlc4gwbvf6gIgFxURhj8HX2mnofBGoL0Nl0iT9PuAa2bCFDJSzjRDh44=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123638,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/mHzCRA9TVsSAnZWagAA4vwP/1sr+odJBMOfOc8C1oA/\nHbsZUZr0DZEwj6m0y231CNYOA/heHm1vIES+jnf15p58/REA8R37uR61z6/l\nsvKDMLIaTUzv9CfLehAwy0oXo2snqY0eqK3/gUhQEh8KNy7H1AOJwyOJwRn8\n2EgGI7I6bUwYIBySq5223id7PRQ3/VLS9UyMlFKdzwvuu4aEDcpO535GdZWQ\n1TSY4yE22sV6k+2+qFsfsH0uZReV2APyym4v0LCVhkKTj8H0TG+p/NaQWZbn\nl2L5ERs+TbJwdieZBtV3Nfpv+HeB9HYW0q5skkMtXAhADsbWiOIXRL/iH+6j\ncVH9CG1c2LQiymN51hbqoUZaRiFXvJ9keJkvDyv5QBYoei2KI9gccab4MWtD\nKtTx0y8DFzJaSmNYTlXYFdwqNjkvpRYFAUXHbhFXHMcYwo/8I0A2OQSjP88F\nVnBjxP7wstDSIoTS2rnaywrLnCvi99ZGDD0HMGm6a7ecSWk3d/3bI+rAvE2F\nWDperua1T5ltCAYRimYEgZORszZXLgGptkwiulNOBgCSQlkz/RpUnPQtY/Os\nTApmaLUZalQqjGKzl/+vhtB134iITSE89lvP8jKKVPTSeBvICCL17/0cRrmZ\nVrmvhDM4bFNtzB7pILuair8q1RA6zkqiJ5cdzXWzhtQDXRhjWVBXn+KdLuNA\nQWfu\r\n=xE8t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200702223836_1593729522636_0.4670773631656975","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200707131128":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200707131128","_id":"@accordproject/ui-markdown-editor@0.93.2-20200707131128","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"8ab31ee0295bd92586f1926180cc1efd8998a461","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200707131128.tgz","fileCount":4,"integrity":"sha512-S+3UPD73NO2TdZD87M9IEi64ns5uebs+ZQEjEgpu6MuVi/hdZPhFfaVJjlzcWhw1Dl8bqAx7sSuPDGqCQ6yKpA==","signatures":[{"sig":"MEUCIETDDjuSzpuJNn544FeZ0QHalxh36c8FikG8Azz+r+/tAiEA0cLUOv0Y/N3bm6sdvPj+9Fzy286niDGPfU415K7IHq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBHSGCRA9TVsSAnZWagAAfCgP/2/MPQN/SA9Rsk7agdf+\niIf8Vw/wzEtNt4vhcQlrOsssxRSoS/TFHxHG4/s9jDsrtgrk70Ihn4ab/ycp\nQY+KJdq2Abtg9E33YF7Xx2zs+AMQk44fvaOVFutAhMTmg0JJgtKXnvmnHUix\nVccB0fngDj/XBfaX7zdh3ipTsTTz8CpcTAp85Xf4jkWL/Gqupqn7BB5sbikr\nqmBZWbkfylG9XVtZ6VYgL5UzcRzCKqyq+P4LoURMa2opjmHV9AAEWL1qGzhC\nYAmR2bubFeC8Y6hq8mn0699HVqEWSZ3QiW6M4C2ydtp+WY+FurjYGi+fRHb1\nQMEQ7idpFg95xrrfZjs5r0ywMAktHWUfVgCUVIcAJbxWSMGCrfwScwQgsOH9\n+rbNp8ufvPnIb2aouWwzIUll1rqOCTPcr6uehDk1alGP/X9JtjVPsp1+/LV3\nC8Z0JiQiJcbgAVufM9Z9fgk/6iaQsg8j2V0oR1C2GRTxujJrnjxXuso1yQAw\nEvEcorcHi2SJBC4f5mYfv4wASXJTJykXYYlvKczQUBj3l/XTzhymRIKntrfI\n8Elx5eaZYPsgF0V0m2TNCTx/IONcv+tfRA7iY9m3Bi81zF3nsLfaiqVf9IKN\nh6qUPxdxSWjgDof5v8ND+6vdLKwV9Q3tF8onsnDY0oW24m1+qsYALKlctat6\nYGPp\r\n=PK+U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200707131128_1594127494496_0.5026927171734805","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200707143444":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200707143444","_id":"@accordproject/ui-markdown-editor@0.93.2-20200707143444","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"baa6246033cc086b823f1c9e522de08f46f928aa","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200707143444.tgz","fileCount":4,"integrity":"sha512-Owf3cTEsSejG4ESTqNucRIOd3F5KGRsAov7SszZxUKLRjU/ipaW+jxWHUOj3Svcrw3BGKa9OIjftgJdVo700Ww==","signatures":[{"sig":"MEYCIQC11egQK+eVHyZk+4RdZuh70AXIRWBTr5+ntvCHvaRMYAIhAOUP95Ii2lMiPUw+TAPzxsp9vTdlnu4YI2VDIm6gyABo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBIgKCRA9TVsSAnZWagAAOugP/0rUeTVVYI0wquwIAxUe\nW2OAVnmUgMbUHAD45O5kss/cAUMGfA9CIM9mTD5VEAsoauQPaw0u8J1iV6d/\n6CU5X8+Yw+BL9kuxs1HOst2SlUd3ugijVdTV6XM2Fg/WwxnAhdH7WRMDTwaF\nQnyGqgnelkV62DhZ6nvfedUcSCaEFFVXmvbIVYQWUSJrYMRkR0XFgkV8BKqL\nnAHqF6W+eDAjxO+0h5dzcla9fxHjMqTajilHmoyeR3feqP0GKTL0398IDzZB\nSOn1Bh3Vk9Js7ieuuM9aG/nybtU14kSZlFw07knpNe9Qaq6+/2AWqCd9J4GH\nFfXMhgQTec29CCWw8v+rQwaETLftqA8mGwHzaiSv5dPlfwYGh06QLOwtMLyW\nkZjwgIOKSjrG0GeFik2hpuWucpHpwqcdZbRk+9BaZ0TrQhT5Pl6dmcKTzBGi\nwgBx2K1DJS6NbpzDTJ+9rJKJJ9+ZTmq4SCO0qiXkfGL5qCDMY3geNcHKi5xg\nRjIHr8J0ZbW8LZlaQm3YkNTdLdcXvtaTUYpAI3zG/MFTYttX9GlAW2owru2l\nQaIW/klHpmkc+xK3faTNawWZ0MXBBkmqG4WyP/jE9zZWLYDA3vK+GKcMpX5Y\nwDPcKl+WGmyUUAENzJSPoLO7ZKiYHD5RPcUMiv5dVeLFmoKrniZtFspRM1Sw\ndG3F\r\n=/BtK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200707143444_1594132490469_0.07966875185269084","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200707221801":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200707221801","_id":"@accordproject/ui-markdown-editor@0.93.2-20200707221801","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"ce86fc8a5e89392e76df34bb33451eb2508f7abf","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200707221801.tgz","fileCount":4,"integrity":"sha512-wgQiIPgVWmXN/XcZCjnCFWdBJCLX/qrt8O1e4lg4hxmFr3+q/rGKjcaG77qMJGLsZdrdH8Caz3vL9IRzWSPQ9A==","signatures":[{"sig":"MEUCIQDAVJGjlggk6ZMi6KW7Iz5Ywmnr5Nyp1TEYIaMcpKUzrgIgZhaXRxXIic4H9afyJLap7vnFFICoefj3qW+zHrDAc+o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBPSiCRA9TVsSAnZWagAAAgkP/1BWSVE3MT59lhkuMmfV\niztPFTJwxpFbnQG4/fai51a9qJGloUvXAJaBLu0PuIQsXUQXSbSP50gC/Fof\nhJkT+PkSYt2dQ4yfGn7HwGQ3+iDufMN7sCqDbFraOS5FpQx0pYOpziUe9rOb\n+qXbYYazmUmlz2t86ZSRxZQcHUKYhDtg+yWQMzJjRpmw3E0lCcNDW24mYhlQ\nnbNkzOAi9b18+MTSssRjDSilh3K50+I2QF/vtcnVAeO9Ko3s571nWrdqSlm9\nXDKywIRvlem37ZozUpKrCbBnIbMChweuvW88rl9D7tl2r8ya8j8its2t95kG\nhTJVBsU8yNhHfCZwvlWFKyMmFp1Kt4NHozpVd4g+v1/2YBjH9TDJ77JnePfd\nSCT/hNCHkL7lpyzhbrx2kSr89EmCK70k8pOU4LaYRnomTBzsktvbXbTpnp2k\nqAzlG4YKjHSbXfChvrU0bmeMklEVgNBf9PM2DGi3LmtD3780HqbdVfJ6JOo1\nEIhg7TRZzmkD/kQMttmvMknUBWkH0eoK42SE3oKFJ5tjm85fvJF6mNLs0CSX\nKPSWkJZerDcC/nPY2rj7FwBJFuHc86zRg08P0rvPS7KH/axB5q2paKsjdgw7\n/ymMYCdOOwoxyrOQChuAp6ssvkvwFnEd4h8fIpFb0KmabHT5W5UJDU/Qg6tk\nvrmj\r\n=B5tj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200626164143","@accordproject/markdown-slate":"^0.11.4-20200626164143","@accordproject/markdown-cicero":"^0.11.4-20200626164143"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200707221801_1594160289580_0.3386370354689139","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200708185643":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200708185643","_id":"@accordproject/ui-markdown-editor@0.93.2-20200708185643","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6056746b81e7acf653cf6b88f1f9728cf2c475e4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200708185643.tgz","fileCount":4,"integrity":"sha512-O6RXkNss6iVXwGWKHz3JFYPe6FtbKm4DAnzywien63nimy4dqW28ovwBimmHwtv51kadEALt5P+w1EEc7e1LOA==","signatures":[{"sig":"MEQCH1metTzjJWd+zn+5/SY1eCykn4pEU46Jmn8b3l4iChwCIQCWfs1pqoWcJvJMJlVi7CoH8jbFQouUIe9/t928poe9Wg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":124114,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBhbxCRA9TVsSAnZWagAAE9wP/3L+YeET8Y4fKqFU63VS\nkpVR9iZe6kLzDgPt+voL0VEm00VC47IZCF2j7NXcbQXZgjvMG3olL74Jfn2T\nJ7gsDD1Cy8MYenqT287ScfWd+IOIXcpbjO4aILVKmegIbG9Ryh8+3yrtQ2Vt\nFKryDRlDvuaw/jWuRaHH5LMSPyU9GQ7HL2XC8o8tieHz4ZAsXRy7lqfaqwXY\n3eiEOcvidEq3z00Z4GWz1SDqrDwHyaWdQic+mOHnIqKWpkqZ/SeEHEt9eLSx\nYEmLNWNzFcHgiYsccXawO2gw3Z4f36+nWaqHtpnAx8TnuUTwHXW+5w/p/LKk\nwvbZsJKxNOEPYEmh5+Gs+mC1REEIfYZi9vpE41fbz4KByD5ihrk9JXu8i6hf\n3Yv3imiGOBnoOAjeJa/e9+R7YjmyLezIZQ6Kya8WqvMbCrhZoQfFiW5eMOxx\nC04HKk3TTIZhlKRXwfTwqtAVfFKj3DsK+dQFjBHdal1H5tP4wrXz6kD15/gV\nPrWj4asI2zAiU3J8E2OMyqMqTXi8Nwmlma6S+BxDNYGznpx13YBiesPuCcMq\nCXXkoXIIv7zT2H7wYnZ08xws9my7/3jjLFyjihWZB/zQtqjcf+8KujZ5Y14T\nZwdD8uqDHN9MYaMZ/3uS78QVQs8e4YUZZGXU/x07jDKSEqT36YjOWoo1I3iS\nExqL\r\n=jRTR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200708185643_1594234609218_0.6784017207131785","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200709222231":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200709222231","_id":"@accordproject/ui-markdown-editor@0.93.2-20200709222231","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"d525736805c037e678ab0115b045c38a53cd272a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200709222231.tgz","fileCount":4,"integrity":"sha512-5P/rbyYpVvkaLJtKyO9DVBaPpuclGbzzElTnMfJ3Kd5EUnIVSY4Qj2DZKwxyvDV7lyrgNsobgolQIFoibO/vwA==","signatures":[{"sig":"MEUCIQDYqShxUjYT9WVciBrfvHp2/fAWUSE8SvHzkleK61NzrgIgd/6rdYGthjcQqz7/wnLSEgBUOQkDDtjsJ4Rz38Kxh6I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129349,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfB5itCRA9TVsSAnZWagAAjaIP/jT5wzVCjIY53EpnbgCi\nVyvbZR1ADi+ZM6meqEai00aYZrZUU3qEUNrSzQUi3Nv8rBnpkzzPN/b8jbjN\nLNcaimW+aOZnDDpWDVD9lo5xTeGONVLBkpIBou6hY2NGlzgGeGM6Tc31Ya1Z\nI9w7XI+j2484xqEm9dnaIiRUhXhnPYXEcLBRDyxWoaqgmc6/mmp4p6m42p7p\nNTgCrYIkzwogtdycyeG77BFNTKPTa7/My3JEFLJ+RUqzQhmEoqCQROPiPlik\nT6OWP0Vgq9e9FyI/KBmYwWXK/UfBkQuOZzhV2oYc3rZpdvhV4VNLXHk8vVgA\n/XRyIc/HH8m8vcDTUoluR1fTdqts9ODklamx4ViQ7NKYWsbjAPmsZh/BTuTz\n/EJEPRMf7FeC/GH6flkSlaqiF3kmNnc+OWVvRm9ExLjrZdmUFcOyvA3dji54\naciWT4HtIt0uuFdaWNl5j87vnaBdGHsZRcF1Fzjh4Msgx6u/P+gduGXxV13M\npqg7HOfGOnHRTJ1sJ/4oMxAx9PUk1UCCIjnmSxtZD+e1C1BaJql+dyIBqDt9\nqK28myltqgkCqxuK56g8w0BNQOVdEdzjhxGvZg7cEX6CnUHFi6ZNHx/sh44a\n1xbjKhwTD+Ul9Wr7mtlCIMj6TawSpwkKwyoz1u1y1ORXr65yYhoBaZViSv97\n/vTh\r\n=RrXr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200709222231_1594333357381_0.16501062981484238","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200714171716":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200714171716","_id":"@accordproject/ui-markdown-editor@0.93.2-20200714171716","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"ce9ce83102024b9037b153b3f529b8d32fdc9d6e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200714171716.tgz","fileCount":4,"integrity":"sha512-6FQ6/qOai6ukg0iVyPMF25BMzkhOAmeuWRL2cmtufxOQzTJdH28R5RQaCn/ujqEtX1OUKdr62aYBHurSx9t0kQ==","signatures":[{"sig":"MEUCIQD5/EHOr+r9yFkLyOx6ZAYQbUbdAv9O/uWXEfRauoVl6gIgNMhsqHg0vYLEckujAOIMs9LjE0cVl66RfTKixhJdI5Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDeirCRA9TVsSAnZWagAAmsIQAJklX8LnFvjq7hMJ4z8Q\nIO5r5t3k4vGZmMo600VijE8ae7JTQC6tbEAz2hsfiYUgrNorl25zy9CTJawV\n9n900Sg69UPnjJxmYrmRjE+u4h1ph63NxK/mb2qf5c1a4TraO2QFnvmnExnd\nrA4U+5PhyA7ldFXdENsVFUFAX3i+MaDR6YpLFPCxq9xSkKM2vPplt4GrhAt0\nPd8JIlExzCyOxsgQ5BmB/isIm34aWiLUkSz6lEIzPpfWkOqltk/cceWfUPJh\nA9CpOn3zs9fM674tBqdvfswer1Rc5ieAVsrfl5I2ArUp3R6acDxRi9T9oz1W\nJSCRFK6zet1EbdVprSAr/Z/7wW0uPnPg20p5WKtke9epnEfOwesAUMeswP1H\nUt+ZxQr+BuUlA3XD/AA5NJ4w1b+Z+mEApyIHCflasikOIxuci1haLpxjbyyV\nQQtXHTTu3hjSNbFt2mYwEiu1KhsKdYo1dFiyiboU1x1OuJdgwKpgcj0KpsDn\nYQDlqNJCI4vL//MMXrBXfRrrT+iyBdEBlppV/0Ipe9Jjn1CsLPsTs1e15QTY\nTHsUtJytolRQ09fO+BcT8iKuacuzWkv8Suh/Y/Cp4JdyBhyYmhnxsqh0Aup5\ng/i4XyrER136ZXt/latv47wIRCITTloBUzaaNmbDVq9MTnAEql7Y8aSH7Fiy\nWAiJ\r\n=DEDp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200714171716_1594747050899_0.39735952063010926","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200720182925":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200720182925","_id":"@accordproject/ui-markdown-editor@0.93.2-20200720182925","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"214f93c2e6f43c2d902c567b95947fa7f374a354","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200720182925.tgz","fileCount":4,"integrity":"sha512-OVkQGBga8pSwrfjP+F+ob4ULGfXhBDYpRh++Atyq8yDme03YvC0AHUmdbD8+bAYxURDwBtk58TsHjp5CTzPF/w==","signatures":[{"sig":"MEUCIBeZZ5Yfr60W+XVTJiNo6+p0flLfvpRXr3PykqNjsJ1qAiEA3MRBJn13MIscpmwp4klgu1cUI9h6O4mhrIVPQnVl11A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFeKMCRA9TVsSAnZWagAAwR4P/02WlGZzMPAIILpKzxET\naKl7xeE5X5EBUkcppLvlR4UnLkvLcUPmX+6ZnVrKrDTfJiTuWCIe4u929Vui\npZ477y7kYwCqZG7YV2FExJ3wdKMB6Kj7FdR9qeR3lCjEaERoVQ2da/BSOZyf\n49Zfl9PmAIdCRf5IeRzAh7gleTp568hz0QFutsqCyes3jU7PhJLrZzvf1OY6\nGmtIZJw+lBYXu+xxzsl/JWUY7DJEpYkgl90453e/AjPmZXxGyHfXTSAp/nPD\nbZUfWjGonKSbRHHybu5n+3Yp5Mf7CfnPO6UU3GKmgWiogmsQWCA7cTPEvSRL\ncJOugbp2L+R9Qg7N0b8DyA4vs+IeLkQXWQ/MCuyMRHX/viCgq+2FnuhBfBux\nJAHkhJ2kSq2rcWPtheClSlPjpAvm9dWSOJDfK04NAU2hkv/OEkKPDU0+aHmj\nxfQpYRjndcZgnp2y3q4fkHtG29HWOZbjg8W2x1fosrLNJwjnVVsL8M931diu\nJCIShHYXQoAUDNQ/C7E86+py++kQ/SUj+1/eZQX+6i2n8P7MahLhyUOJuoyN\n3XhjDEM3vLYN8XIoNYF5XdVpFJ63l3FcBPKTXcGWLg1OZLp7zvHPY7r8f2NW\n+fT+L2lt8JIVLLZJ5TSFjWtp72Xq1NA6egG4Fo2B7AfvidOKIpXcCUVBf3s/\n3jRy\r\n=Mrwh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200720182925_1595269771772_0.39488167221608994","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200720185115":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200720185115","_id":"@accordproject/ui-markdown-editor@0.93.2-20200720185115","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"abb2ae33dc97796d9829f256ff9d401c8a950359","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200720185115.tgz","fileCount":4,"integrity":"sha512-tCydfXgHLXpOhtMDiPQi1CbstJhr2Z7m9eCfRcKyGZ+BNmiEh5KZom6jzpULlPIu+F1SBYmyFk5nzvLYVjPx2g==","signatures":[{"sig":"MEQCIEEAkHScRlQZzQHPPENWCETRaxnh9blDJJGMUqn52QE9AiAQ84JGZgJ6I1322FCZ3KP4H/7jAF068N12FqVJd3+VSQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFeeqCRA9TVsSAnZWagAA3GIP/iU5VXk+GMI1e9t7HBc9\nrMvxLUlPq+vw9T8RbW/SbEt+R5mm5qsaiE52yJTiYJSXpVPk/80hRaVvLzUv\nK3adOgBBNzNq9gLSpCBDjwWobJc/vn+i4O/2HgXGjXum92mp/1Xk6AVNbh2J\nPYCrQ8wNAFhTzKuZ4z15KHjlitCmdySTGvF0G2tIeUDNKAherADbh+dBcOPa\n182iRsTZYRJs30JhNJt6C17/4KZ6Ob4dg6mnAFFxtAWWdXioXf5H10A7tRCh\nt+d50AyCEABwcOltLqdq1f0Lg2aPwVIhwi+XocTKEbr3BACZOk1rWD1EuVSh\nI/D0RHywyHgBhZBmNARgDcofCBD0+XHe66FkO3raiMJExSWPgQZM452sstJi\nNtsBYcwJZ+bR03av6U80Mx4waEHIjRx5nQFMKpTPyXhjeyDAqC/3Sd1X5N0w\nvvB9CDvtl8YRsX5PzqzRISRj2G04jaaY3cMb7fr5918X5xbjIMG3sgNvYYw5\nXr3k+YmqnMuBzfhPPNU6CVNtkS3MMnX9mBeLqQ4MMbVG9gsRVdNeV3F+y5qh\npKCAm0u3oFFJdyNXUP160hO1LCuz8csaRyRzgzJa0wu8pPvu1j/sO53G0iSr\neSIfs2ereTJ+iubhrOuGSeDXBhxJGk9SyTa3uBfX/Wb5XgWbARTVFjPc98uK\nHhky\r\n=c/dy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.4","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.21.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.11.4-20200710155447","@accordproject/markdown-slate":"0.11.4-20200710155447","@accordproject/markdown-cicero":"0.11.4-20200710155447"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200720185115_1595271082644_0.5323047045733265","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200721171725":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200721171725","_id":"@accordproject/ui-markdown-editor@0.93.2-20200721171725","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"697ca2f931e353224b4704c6a1a5cd6b5e419b38","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200721171725.tgz","fileCount":4,"integrity":"sha512-68pBXUAY20miLgC3rR+tp3oHoX/XB4XybLp8Wr8MyvLbYftoO2jAigDBDr60s5ikGP8DgDOgWmRDeVi6jR0KNA==","signatures":[{"sig":"MEYCIQDuqMm3HflRshoEcJRhGfock8+F9y4kg3D1zFEuTmSe6AIhAJNslTuXHVO0Z6m9rGg2wBM606t/Xue2EMduoa/RU6au","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFyMtCRA9TVsSAnZWagAAhewP/ArsaSRbebwkyvE4GIzQ\nX9PKC1LqyKOjpSs84DvLDLJyvYzAKJ3LHwq3l0d5n+VF9C56rVRhPbHbAIQx\nWRqFLAJZErgh/EnSJ4xKpRfMzbIH6MpQt6GZYpfnJpfC2VNUE0fWLvpIOF4o\nOHNH+09Dw6NGXgtM+WuVUrCXW9waSTlGeEI4nECbc9p5NOVzqWvSlnEPhZGX\n6CJyzoGYuV7wyXfaGfBe2oWumdxgDrgvc0vl+NpYcKr+odGyDCswl09zLogX\nzRfnfknpzL1cZfppeUl0KgDjfzz3/Bo2Gndjpy6/9YQ3Xy00TIeZmuWV9OQW\nSwWoQbTKmc6Km7VP0wHv6l0gBN9499emxRVIN3NgoPTR0ZONclp3aPCOVlvI\nqR4mTImD3DOz2SLn8CHWdS8PsH3/F19LTeLTGtQmS2X5KyaV31vD8zR0I0hZ\n38bqz7PYECxWC0oYuMY5mMaqG8BHpY1cT+ftQgKh39BdztsoXYlNuzFcn8f1\n2GcR9NxtESq+ZcHmFsoHayUeOMqETb+Sr4QjlKg+TjNfDWWMqR5+Crpn6EZF\nV9I5lR4wunyiU0hOtovFjHGnvFLI4XrpCHIDrhoAkXcJIPFPQc2JI8qjo9HJ\nSxvE5I0/CJQW+D+0+P3CG4cvrXNZQvDQF5BreDMauddHWfMzcZEf2VWsuIuH\nE/CB\r\n=k5Q8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200721171725_1595351853382_0.46881401382422094","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200721204625":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200721204625","_id":"@accordproject/ui-markdown-editor@0.93.2-20200721204625","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"eb29bda24d498bc81c284952d0b9e3e0c839d2b0","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200721204625.tgz","fileCount":4,"integrity":"sha512-CkYze0ImQ6YNZytxx+5eXEb+8qQm+qyIy7xcH+TTFqsBnQuYDhf8nclcYS3x81zk/jmARCPmlgI0ku+B/L/N3A==","signatures":[{"sig":"MEQCIFmMKvvdWdMAG6+WWdN/gXhcftaevWvpg5/hOTfyEEesAiA8n5b/r/1L5G65rsEfJj0pDvaU5hw5AQz/39FkCkBjUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfF1QoCRA9TVsSAnZWagAAnogP/1xNbANvfqTOnfPka/gJ\nUqiyo08eDHzBhp6/Oum1vgMyyRJRewLLNlORMwta+9akVwLyANaIHaMvYJ3r\nHg97eQk9bZw6k4mccWt9sDFpBnXGyHJFe6gGROa1JuQxhjAE8wesQly48oRS\nlTUoG5WV2JYLa/ChGcwVdcxnOrG9WSI8TJWhyhXECeNsjqCK25TLcuuzx21n\naHsuayJoK1GGab61pYILQms9dXpYHlxvuFXHly20/GmcXBxsC13edVBVNCsj\n2V78Zc1OO69d8jieDF3HiYicKYIeWdhNbZFU1HkpgmNE0a8VIIQobOvhDv9z\nbdGkrvkMHDJ5LgnXhVyvVjsvdbKPmxhjJnbh774WcogCURuWdbFNrSeF9d6Z\nlBEpnKqUQLpPMyTPP9ltZQvq8RBPVGRo4+tIKehs3BfvKrdQxonrAuy6RBBh\nCU1sNuyC2ZIgkyvxVx+HuozWdEVrwFe5L03zkCD1mJgYeusUZOCa9ESt4tC/\njDe1qpsxeUGHfM0TdhdnxmKRfmbaK58kniTw9rHhR+crBuKUwqEXOzCC3flY\nEpogfm/rpU51sA4WYwe4pz5xaA/lgRJFEf2Glsw63nLTquJ8qnppEJ1b8Ewj\n8Q+lk6m5ztTenBsC4OAjXNDGnW6c+4nO1lYKjlnBfhntzuBRLJE59NJQQUwU\npbvj\r\n=CedK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.11.4-20200710155447","@accordproject/markdown-slate":"0.11.4-20200710155447","@accordproject/markdown-cicero":"0.11.4-20200710155447"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200721204625_1595364391937_0.4137101670131833","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200730142252":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200730142252","_id":"@accordproject/ui-markdown-editor@0.93.2-20200730142252","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"af56f02bd5c6527b890093073b886cf7f1063896","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200730142252.tgz","fileCount":4,"integrity":"sha512-Q0xsG9PEm0rmwkTKAKuIakbrLAkzULTiktawwt+mx9vNeLrcc29bMTyeNL57jwLUG/RmndPKIb2oGdr1m1RnpQ==","signatures":[{"sig":"MEUCIBIgOXA7UAY7TJskzEyH80DxIBgoairMkvGG/4wOZKl7AiEAoA92VYXo1jektjDcEI6EnagmDr56dfQhLQWKwQPEGhg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfItfECRA9TVsSAnZWagAAs48P/3gk9jakyv1pi+TM0bYc\nncaiOKjdXSivbQDC1SPltJ2+CMUmwT1HUwCeXd7B1X1Pf/XUNdgUGmg9YR8c\nJbqdYUvS2/fuCx9d1BQW8oGDYqFGC/78jntriYkvDeSspc592yOEwGd8fAZl\n3vUAcl7vTjA19bzQJbczFmsZTMURztygE5TSkzcDPWKPFXa7w2h+ReOTR3NR\n6DlXr4S7huVSEieOrtZ3es0yfRTDnb+rkgl/8ApmfbjMfpSeinu9wpqLJgtv\nWBLLjwcFf7IlzmCcCreMrDP9XSXPCsQ93hfl05beOgzlfRb/TMxeLl9AOA4J\nac5ywGODM91wagvXgu+zWWebTHnrotuoWtAvmVVbPWVuAMfmrDshyg75W1Mf\nEthdGi2e9yD6effGeFhos3DMuhR+bh0bvL7LeuKAfPsCKwC+MKuptfzn68h1\nAwhp1eNroLyPJXWstbhbz2xHU+MCEUasaVq/a2ByrBMsD3YC05O9xps5Oebj\n+bDVdRhi4GywLerhuKL4UY3LH1Fzne1Cz7xlu3bVcVhB/R8i6FdBWenrUjl3\n+amZQUPbKgExoERC+/Lo0ubx5eSwDtrNen+RznW/aPc7AfeiCdvo+HwQzdrj\ngN43+Oncsahg/fQk2PbcDoxEwMDFxzhYAjoa5MupdM53ZotETywPszPrL2dw\nyLla\r\n=co42\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200730142252_1596118979915_0.35477101927158894","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200730172709":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200730172709","_id":"@accordproject/ui-markdown-editor@0.93.2-20200730172709","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"ec0876a9411067fdc7d30135398a3ffbfbb3aec4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200730172709.tgz","fileCount":4,"integrity":"sha512-IhLlzMCcALuWMo9bWhBJkOPdDluKK+khWqeQzm7fLYuPDLRJH+w2+nE/rgf6xGJ6qDZ2jyMpVL5251fH8M7nMA==","signatures":[{"sig":"MEYCIQDTln0QfL3oaMVYqt0mPKhIRM5wuyS0/PuclSzq8crteAIhALNnMGE91b6/rqOlWHBadwIx+jcaVJO/W2RZoL9LZJqD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwL0CRA9TVsSAnZWagAASZEP/i06wSApmJWIYjCN5Osz\nGZRA3i9BvA3znmIorghNRKnzcQJWsOEEDEkKdoOwXgZhMXx/ECqnM8Ti1Xqy\nPD0Dm113Vj6BVCyWuBD9b4ARx8Ta2PJQ3rJFAroU7WstR0Iy1WvlmzDgZdy8\neoOEn+y+eBbuO2X2TY0fMaK3XmrykXbODxcpoPDHcJk+fUSLhbvulCMMv8CK\nGM2M70fbehnCKU+4nAyyDyeZK/ZkUEgMQOkh5ju1FYjTdCfRw6o3dE4sW9ty\nmd4awjFSvyngaZcJF1ngR94k3HUtp/Bpzl1um6C2+SgmIcHhqYVC48HtEOfA\nMtfzUwnv1168fvmNoPlWkDxZe6+DU1E7FfJYM6a6UWZmCi7bCcsYjevDwMxA\nmJNOSXK4oZY1YjrTbAnrijiEhc/fJDOrbXv4Lo3JlN7fo/HATFtTC7KkH6rI\ngzEEijS0qJ3hRHko7opebm+3mWXQOweL0PCFg7IOlt6i9yxH8t8QWUCI7eQ2\n4h4ZlzDkdVh5nDkoRjoL7uVaf/paMTz2Fy6NTSqIeq8oGWHSQueKuhVyeIR9\nDnn8DS3HCnuBQLFQvRSPZkGWIQMQZVn7MLUl1sQBOop7Cyymw/Sh+5bKJXqO\nlbRUAVkaAZbodb3p8QcdWk/dKihatt08h2tLFb17zKy433sWVyZhjCbx50a/\nc6YH\r\n=3Tva\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200730172709_1596130035898_0.02580256041413964","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200730175005":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200730175005","_id":"@accordproject/ui-markdown-editor@0.93.2-20200730175005","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"a73a9fc84be03f4f5f7741bd56480a4e6f0f2311","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200730175005.tgz","fileCount":4,"integrity":"sha512-MFrnLmirzxOq+YCnA5M7VtKG/+95GgpPZFVMXVZMKCJaZSk3NMst432PXVT5clzemw5Jk+giqMBQxJP5e8GgWA==","signatures":[{"sig":"MEYCIQCdhPCoz3LPCcq3ugH3dEat4arkPVZWVbY/75tTAvHLiAIhAP/VvH1DsikgG1FtKQUpBMZj/ddp6M2UIAw1agASEv4T","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwhTCRA9TVsSAnZWagAAQzsP/0qVTzfr3WszFMQxJaTE\nsnRGRv+liOQRhKhlFvJZmAMCHVc0+57iT3QrBQdLoAzBWy5ubRH5CTT0G1IY\nNOeRlS6dMl62nMHY7cONcu6AB7A9/DyX76dyDu2iDdyOKrPM2Yi4x09JoYW/\nO2ZWTLo6fj60bfLK77No6qhfA6qwdF6vIRhtze7irxfiHHrc2EUY0HNSt86p\nL/TO1knkefVDyJLt7z4szqHtfnD2Z4jiexks0a2ZXx1Vx9xXrnNzeHqZGgfk\nUUfVlisZjhMPTQ5NwQQgRqz0x6LU2S5ks6RHgrng1ionyX+Xdca9Zlpf6dqd\nXohxD+GdKEEXwCyZ0eApH2+0Ipg1w2wJutEYlVv1p3LPuCsYvLMd92Slx0bo\n/dmsSlL/TxtRw7CSL7DYPzxCAKBrCU6j6IT1oLuR6GfslGj2QvN5yBcMjD3h\nWPpU/G+HJwvU14S3IdBNs0LY3BeJe9K2iwl+W6w0QtD1fgMwOouCoHdTKUPq\nGmsX8YsMRFKbXeKWOWnngBJF5wwaOmYpO+gVw5vyHRB9AJqhQ2V4GHNhGwUC\n+XokUiVlGMhZpnCIjSJlL9aSHceqeRCc7vANhjttZ9eFYZF+dBDt1LxkEAlD\nHqeOJp50lb97nWeuAvUPT5/T/70PlT+j83d6iLZgN98vRKGCpyYZH6GU84vT\nUmM5\r\n=p7/K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200730175005_1596131411157_0.8479447292456757","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200730175739":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200730175739","_id":"@accordproject/ui-markdown-editor@0.93.2-20200730175739","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"0d8a729ad82e7ccce8a7598f868ce686fe76f854","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200730175739.tgz","fileCount":4,"integrity":"sha512-mLLzoqlbNa//ce1T+HyS1RLPZfNnzB610EnRtkkFnvJpFMTcyACtI5SxNl4PcqOt0zNHcx0nB33EXrjx5yCfXA==","signatures":[{"sig":"MEYCIQC1KSbGD75HEBoAmXU2GtOquDH2sBXWTKSoqnqUxksjhAIhAM/pcKd06Iy1Qsq8Ufn4Srq4v98f6Vf2VYGb79aN/CS/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIwoZCRA9TVsSAnZWagAAzjgQAKQ/hDeiWiNJqnZuvjWC\ngfNvvmnAjdALurrkztpqcRis2wZBmngPJSwNPBW9qiusM3+Vu7tHGgY8ZcvH\nrlMRiTEYAofWKVT+Ip96F72psdOIch3NhpoCeN9f+01NlidqQip+IqLvSI+9\nFQ5q1jbiempQk6w4u0UjRKkuztqqQu5Y7gQtHu11b5/43xKSaXTeZ1guLTQE\nKEGu/iVGDENDUF47FBce6uRTl4EtVVJT7ANLefLkZCHN1JSxnKX747vQPPS4\nAs24jZqFsGEPzhC5Oe8tHFsjTXE38DxyMqXBP1xAaqO3jqPgmY7Dz0BXa2rQ\ntM+heJQVBVJB6+tgVwA5j1IqiH+dXRDg83gV/ZmXmwxRb0ci5AWZBA9Mp2J8\nT8JhOdC2S36o5+yzkaPIxvHLRSAjGe7y69ND1v9j3RqinOTnswXbEuvPGQgY\n8mVW4wx2bp5muLGGJ7Fa9rR7BPUeTHmkbSC7VxuCn5PYprQeASQhd4XTw7X6\nf6jTk5GRqxWj9rVU/gpf1FVjiarZdiw/xs/K9txYb3weHBYky0/QdIoFxAtl\ncaxtyfmZlcT4q0G7/4b0/iHyBf2q9bH4++yDKJK7VQfsa0+uHaWQO5h3PSQ1\n58NW6zgQ3gLfidsOn5MhjPWaMO/1GYYHL7iCZdZ2lJsfSSfP+5B1+1ZUR53a\nP89P\r\n=5pgt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.11.4-20200707133347","@accordproject/markdown-slate":"^0.11.4-20200707133347","@accordproject/markdown-cicero":"^0.11.4-20200707133347"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200730175739_1596131864894_0.8788563213303839","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200803180344":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200803180344","_id":"@accordproject/ui-markdown-editor@0.93.2-20200803180344","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"792b8837835c4c39bf8fe7e006a4beff0e1061d9","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200803180344.tgz","fileCount":4,"integrity":"sha512-S1Kx0ZThDRE//78Wj1HQPzsVxOtBWH6DsA9TmD7wW6tzdxcpoyCL67wUHbcZKWABKpURkF+oqN630qj8Le2jRw==","signatures":[{"sig":"MEUCIA4EJdrOeQPcA7bfE+vpmV2Dliy32X6RiwzRYqqgSudCAiEAgNh46l7AhRy78700y4qeG3esF+XcfZmpNqsLv6+k7sQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129678,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKFGHCRA9TVsSAnZWagAAJpEP/3SG+YTHKabBUEPJiEc7\n6gMvB92jnjhFdAeCudkpByiTOyFse6XMF7rOwqyUT1betbqt7k+cs6x8oiRS\nUIs5P52i3R3BxQkdXBm3UQyK6wfYIRPN9+T3HoLualQGAzVEaXJIyWMgZyGR\nb4FCRbxDSld8E+moHwad4bKUaIVOuaieiJthcN7cCxaogWpWGZ/HmW0a2Gbi\nV/YRDpr0oXjLkQtmMrMvd8DbR5vtnpw8+wnz2vvcNtbUkp4Aoxt3rIw8IfHP\nFzp9nnMF+tSfEcMQewAerZLcy4irZgxVs+ybnNSwDWJqWTAx06FLA7FFKnIc\np1JLeXM0Z9CCIZu1y6hnyaFclblYWjv3BWuYgtbROllp+tRELQcxxU6XCdro\niug9BNSMxNr9WCyth9e/4WD0DKdN6dJtlI4dEMR2LJCoVq51gwiP9fVgrSov\nCGu/uwpiVXdKCdIDr5wAAYPGpcF53ks+BClVAkODrn+ICuz20r8U2RziBxoS\nYv59Iv3ZdIXsMi8baAzgrGahJYpwY0cckmut4J0ahhfmX5Xnrl6AuTNc+xIM\nXUmdy+DHCeANnYDuTmUP/I1oGD+LbSggLwCQGAqn5YQVHVdg5Z2DWDU5UlaP\nci4tMGvIrr2LrTEB8jkhsIEVbi26AmwU/trc7ibdx2rbF6YjDQvI8CRKL0mG\noQvt\r\n=mS+F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.11.4-20200710155447","@accordproject/markdown-slate":"0.11.4-20200710155447","@accordproject/markdown-cicero":"0.11.4-20200710155447"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200803180344_1596477830595_0.6831795684934789","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200803185725":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200803185725","_id":"@accordproject/ui-markdown-editor@0.93.2-20200803185725","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"15d43d5264a3eb31d4db73bbe8301482dd510af1","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200803185725.tgz","fileCount":4,"integrity":"sha512-omFqJIK2Y5Meok+0N0qkZyDiB2uUf+Ps7Uj+qp9qRuk5g8AHgQ981Z5K/f7a9TGHlWgC6DQ3tl5UBgOe41B+CA==","signatures":[{"sig":"MEUCIQClMaVL54Sqy3TtNZQvQuF4WMJMkP5C7/urHBz+sN965gIgOo4dTGEK9BEb6Us1uORRj+D4uEfd5tAvmoVsWfMaKqs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKF4bCRA9TVsSAnZWagAAMcUQAJ2nDBH/MmbVgPQlXMN0\n+5xIiskyPPFRGf1l9X6YCqq/zLdtYfkfGzHcjK8MAaFaSP4Yl/EAJo08EL1G\ngR9H/oZkLc058HUI0CIWAN4gjkBekAdP1MmOSM6196rNZ1wb9mgj90pmaHAF\n8m1kwTkTpd+5zj0vVymfgqbduxMXj62RLxNh/s8II7JDHfzFBqVy1XEH1dnA\nJZczE7+6VW+M9mfzT2gWnzmYemBr3P0gOgFD0ODjGwVXOUPNLxp/NdxYoV5t\neE0VffIx6h7G7tANci1s7qPTQhrQlrRlfuKUXHqoEVXS2z7gEP39VbAHYBBc\nebT1lbrtrx7BYA50gf5m6Hczv5Fq6uWMs/nIIwCGF95WQdxnm6jzNQeW1baq\n2TQoSb4do+wcO50PdaJJpjxyyvjnPHYSRBdkkE8+wWbVUunlT3O32W7QboIy\npOzv2e8NScMl/32O267LqXjEezS2GJNyeo+zVMITQpeC0Lswd31RbwXGCALo\nIkx3niuaKN73Q/xRMtkiaRq863x98EiXzqgSOuF7VNj7g8+R6zgWSGMmWZ89\nmoRSq5LzCrOqSRPFNP3DfcDjMzB5Ma5JJMApuQYGqIm5wZ6EkB6bYpN1fcRD\nYopC5JtJcO6tXPMKPa00cJXUCfc8EYiSkjx+31CvBrYI8pEH8MDWsJ3RbRut\n+fOs\r\n=7EhP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200803185725_1596481051491_0.1287267437412669","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200804140042":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200804140042","_id":"@accordproject/ui-markdown-editor@0.93.2-20200804140042","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cf76471ec677b2336a2607c1f585a2356d794b21","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200804140042.tgz","fileCount":4,"integrity":"sha512-C1yGRbLxtjaxaXysuOhYFxAYeVkE8d3dQoYJj74tCVu1eqD+kk0XDlbJCfiJf6OWeF0nTvcVTOd9fmujIqchvA==","signatures":[{"sig":"MEYCIQD/KUZlVvGppORp6Vh1jUSthvFHzg/KkZzTdRB9d0G9xAIhAIMvdgaZeN3gw0jWAByGSeG0A5AQuiaj7NSFFI4LH4Re","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKWoRCRA9TVsSAnZWagAAAJsQAJh3cMoKwpxeMfhx1yWS\nYuOlYACEqOiET5Cu1ahyjPM27rJKPnWH/LG1IQoBHOmNlQsVbsTW+JrEc3Hz\nQWFjjfyX884xvtzjG+sL8wELVMWUQQMQmdWHwxRx/ZEtHBFokwWhGcB+Dy22\nvVke2YG+ZLv0UNhXn6z731LC8sWZB1gDhH9SLv7c7g6Ptuysq6mCFsz11CS2\nONTan3DROtidyuebon2KokZb//UtZE1oB5phpXvwMjyWkPlXAmNxaEWzQ5Ht\nIW3vtiVguFZVHmYUrP4Kq/tjKa19NmnR5VQ3//sakU0rawhOn7N/Rc75LOjl\nWAyIWctj+pBCF5Q0C/Ns8qBeyrb+UCsGYhsmlhCBgnS8QT805Tg/awgBOV4/\nX9HkInitWC+4jb7pkAHbKvOG3nkS3JNOE/mGcj8ZSXq1dKrUiHes5Niup1++\nRUkCuIjfTBU8LeL/MHl4pTIyGaLtW2esmbGpN3246770Ay8SAedY46S1tltx\nRUP4uRtMwoeeOqoXsmHGZJiAOJXLUzrGkST5TwCcjBlCrq5++tovucJU9JUV\naMP7xmZ1SdnAUfII/yPMoSNgmwItCzl1/SBk+a9M/3VvCOwY7107FzJwIEBE\nZc247jbtZZa1eLMn71ddUhluORU3GQLGfSfmhLcbAhcBbpFXMCE5qlI0xmvb\ngtYg\r\n=Gw+6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200804140042_1596549648879_0.2597672563768727","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200804141827":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200804141827","_id":"@accordproject/ui-markdown-editor@0.93.2-20200804141827","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"342d2b9e8cba226c930a02602b4585137dbcfb41","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200804141827.tgz","fileCount":4,"integrity":"sha512-JsEHWshuC/NaoDsD7NeEw1igdUq2VMIQ07QXH2tnDJ7+1fHay3iEJKsmWg4AP9/pe4VD2b/zQXVSZ+9w/LJmFw==","signatures":[{"sig":"MEUCIHl7KcuxDRG1RRiLhkSzYwlMp4mWQ8H1P3n7mXIHhBjDAiEAg3FmD+W94mB4d7PJA0Y+fWMYOZsEisTlXmNx2CdpqFk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKW46CRA9TVsSAnZWagAAQPIP/3IDe7VHHLzzpm/n2Oof\nj/s+dAz01783C9z6jTrvf0CrRu9OGggJ8A8bpOlktXy9Rj5hBcNRIqESDSKp\nNpou9EwNJPqq6ag8H0wRdVzpsbhhNdOPPT4gvGcMFgia3DpF+Un1+5CvRcqd\ntZsynEXnYhxT5Jr2KeOaupNwjcJr4aAW8C/w2BW8wdnyuOGpQjXgtIsA4V/X\nn+IwR7lESse818MXnQCikDvyplZxGZOZ5QkRAMLLSRnVdr3KmpuMJoMrFMlN\nD/fq62bitiGaY1Oz5IHoDRZqnEIEM9mpp6VIEScYSu44Q2qfvXB6fYT9i4ou\nQEqThNZjg9F3wbutqpyBlMHs03MTks3kNzWfnkmRctc/v9LRufJbAo4+rsKi\n6x9gh4PDvpislH4Zy9T4ogZPjU7sePhQxR7fbzx5Y+9o+MCs0wfv+Qs2Bqh1\nnvMvcu024bUZk44I8+1pYVsHt84TtAxontCUNJNZKPaAtfFw8WHKqqXuAOua\nIDZKIrQjCf9aubmpHrQ2aJdg/apBGMXm6AXgXbhxo6FM3nlpjn8LQ46ayl/+\nElo/sNBViOdSTbo1x7zDYUzeyHt1M3iXhqGTxTe5f2rt/pZLdofgb+d7ZeNm\n3n8cySA8+Zdmnr97kJB4Ye4pn1F3ZArUJvjzO5jASHs4anYmlAOVs9vlXvXk\n4vJg\r\n=97FA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200804141827_1596550713748_0.8507073821035389","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.93.2-20200804150157":{"name":"@accordproject/ui-markdown-editor","version":"0.93.2-20200804150157","_id":"@accordproject/ui-markdown-editor@0.93.2-20200804150157","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"55d4af2f093c202c65e1602886124ae87c43b300","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.93.2-20200804150157.tgz","fileCount":4,"integrity":"sha512-rO3h6sf2RDiBZfOr8IZEMFoU8uBDawlxE4SZ1rEhV0ppU8919Pes3aq/zN9HM0Z49S1zlcpv7nLZ3Edr+3biCg==","signatures":[{"sig":"MEUCIEkfxACgHUS2zkpa5kOc8R02D9I26BbCfAMuRBcdYjOqAiEA0Z8jLIfJf9ptrMmZFZBbciTUfrVFXaH5Tj8HseS9GOs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKXhsCRA9TVsSAnZWagAAmBcQAJkPG4xf2S9AxL8NNnoE\nCqr6MDJ76zMAQOuok6Up94bKc0+6YtRfzqdN2q4bb+axwdwBIJ+8lMZhm7Yo\nNB0+vNp7IrKLcZFxKsfW5hVG/Mgp68CwBh+w8VMJEh4UV3VBhRtOjt8lCDwU\nbvzBoVsPnJ5ph/Hficjo8rI5EMWhu5ySEW5TxMT3pazqqPGZ9+wfCkyw2mH9\nuggeGL1bDg0Y360f9JGRIOv7RkgHnQJ4uFD57M5sBucu7K+DLjuYCf0MJudv\n5BtzGRy3p5nGe6GoMHtTmzvSetEdI1u+vcLmr6VnZ2ZxVPU3iIC0eJDTdRfK\nb4Zw/sUzBIFrKNA2VDVqFpU5/v2onRt4aQgW2gOpcW04oTFQBEzhHc58QgXz\nLLSPqffl5Vck3+74dz1d6y0KYJYaI0dBsColGcX/0ydVt8OobgX8wSE0tiQe\nAgVesJJIZp0IzIaACGSV5+DDhDQHwDl0EImu/sLxpSawHzAJkv3CnOdJwDD3\ne0U7jPFahdbX1DdQGCXb9MuwowMrn4Ar5lshVyQG4xs+GC1NuVj5LA0feWpw\nHJ7kh06DiB/l2mP/ZOtosqmG3OgLEzEabNN0WmIEFyzwDB+SlRtq+CELoACL\nI2UiiWBJAkYQzCd6uxRt8LK+Ql29kIa0BE5PnSD9EcNYe+ua83NOzlwmXat0\nzNjc\r\n=zT74\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.93.2-20200804150157_1596553323600_0.9426981630625553","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.0":{"name":"@accordproject/ui-markdown-editor","version":"0.94.0","_id":"@accordproject/ui-markdown-editor@0.94.0","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cdd61128b7f12ea8a9f2002145dda9611a106e27","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.0.tgz","fileCount":4,"integrity":"sha512-xRHNQl6ieC8MJEwz9vUfxwoKexV9sVhFTG3ZjmskxMlcddqciJDXtiQ+aK0Cz0mkjFYepEN0rsaNjEqRTRvKyA==","signatures":[{"sig":"MEUCIDy1vYN3t2cqOgVfyAHj1almzXu4fdtQTDIpJxyKgtKrAiEAneMwriymycTruj7QfCSeQEky/P77Z6mfizIsYAsnUBA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYG9CRA9TVsSAnZWagAAzXkQAIJ78bx8GvotUaAc6T6o\n1QocIBN732ldlXRkfGfLAzuMigA8DxndfXVFNWn6xUMZL1homcrXH4X/J+0W\ntYkq0dbwZc3PIHhAikDLAhX+D25+5xr0bMQqcCGgTzvdmVxvf+U354hjM9N3\nGECckbttocGfDVQpYDS+64q1DVfolRdQT60/k4fOrtWgB9i5UvpRkatZqanG\nl5r5FCxW/S0OJyY/GSfiuyAkSN+mysbUnANqAI1sUmX4EG8w3sZZ5RwJghKu\nLC5eBQ+3DbhaPz8ed3zG01WrioY/JXn4cOFCD5lZYt/FySr+SkjKWuFQbGBX\nwzANTcubsyTJQxIhM3dA0b2fNBYRlZ60X8K9+RCVFF04CTELNvoDlbne8jd6\n88NlEBsoPDHZ3xkiPAAf5XIr/c0xMXtylgt7Osgly7MYbxuTMWVErYSoCCSI\nI/Np3NunWT/K1/hPsLU5MTqK7GYx7OFO+6ujSOcYNjttF8duFD5w+xRib2Rj\ndZHiSh5Utduh4VQ9348fkKLmJorCBe0P+f4jwxIn1/5p2MiDOGPr6yO012EX\nLhfDcj4XbbaoxwW6AkMvkwiDVYs99GrI9ijaddS6Da/P8aGaU7ZoLKTRYLZI\nlbsL9+5/MtWPLQybkWkic1aQnse9/axhaeXmoDS834oTMqJpxlM93C2Tu0u4\nrS0k\r\n=zBpq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.0_1596555708692_0.04804797202722755","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200804154634":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200804154634","_id":"@accordproject/ui-markdown-editor@0.94.1-20200804154634","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5d487bcda332b5f5da2b8f3648b687a901b087e3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200804154634.tgz","fileCount":4,"integrity":"sha512-oAsTzUohKoBobRr/Etm4+0ifBuGcgQNlboFsmCNueVSHMjonzGfGjBC70qhCX6A5noefUAROtuxtfhVzWkOPXA==","signatures":[{"sig":"MEYCIQC2kYmL1Md6/NpJ2YBkNk1TyUXz6Ei92tx2IKtzMNa8KAIhALIJpw1HpX5HesvYEywnlAROz3y71LP9RAaByzunMgBJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfKYLgCRA9TVsSAnZWagAAlvEP/Rn9tweQfw414vU6VJKj\nHI2lsuIPBackVfrc+6b/FtbOPLokNGt49nvDprPyFHAa+db811QcWNhKJuRz\nZmmFE+teqH0N0ErPQY7M7h5//s+oUjeeebrAtHEytG7rtaX24Cu7bLGI3htf\nbCvNob/hQv/1WiImSS5Cu703Se0c6GerVPA8gbV3mt3EjvNaR/x/E2s/0clq\nL6SAGUwuImpITDc/N4BjAJkMn1fqilUPIGfSTObbYrVpPlgYdV7FBdSdOpeM\nUs2JXGCC2ydb/b2a4l7fQDKBvcuveFnXnBA79gxP7ryDoTidgu52XwR4Dlsb\nEH96FlnwxyGi3NZdb6e8Hezu0gIHsgrtaMxxcaF0zAiE3bXmD7yNgQ/BWS94\nZFzAHIZguCuds01cEM54dyDHJkRoO17aKdLIlLwscFdLHFmGTDuP4uM4djX2\nI2hMKMInp8LCa1Tn8XpMELDW3KeMjnBxNUSYyCMlmjq60Rt/hAfScGsI6zv9\nOLLdEpXuIAjLtsznVtNYlmf4nkRCDhAbdWJmOwkiBtR72q6+FvSzyIc2XO5u\nSb8mO//X7xcNs+SMUINgYKFtwMebcYvp7FF9qMZInt+X2izinGM8GiODS+Uc\nuVx2cNIw7BFJYMGgqhOiN1ClNcP7ylggzlGGVVgWk5qzkhKpPo3tyj83H1BS\n/K2i\r\n=XlmB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.0","@accordproject/markdown-slate":"^0.12.0","@accordproject/markdown-cicero":"^0.12.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200804154634_1596556000559_0.4203090222856922","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200809174445":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200809174445","_id":"@accordproject/ui-markdown-editor@0.94.1-20200809174445","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e74138f658c222b3ebc5384184a98fb351180979","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200809174445.tgz","fileCount":4,"integrity":"sha512-L2wIPsiecCX00gtrVstSQM7TdffwnvwaPxDlWWrVd3qJx5rfHWbikdfhG4BdD/sVQEACWEk5ElC3sqUTHMS84w==","signatures":[{"sig":"MEUCIQDyTMPvBygmqVS+i/O1DCzxWYWz0qMzvoDTvvtpasTW+gIgBTtBNYk1IjA8Mwp91DnbemxNpPDiixrMwh4JdtHibA8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMDYVCRA9TVsSAnZWagAAdnAP/R+kOBnM5zgeB2Xvy+1h\nV+/zJrgat23yeojviKW005l3zfgWgA3cPj4EsanDgTjl/Q0McymAYldbiYxz\nbadDwcKSJaJDcqdML0ip8CImOvLlqdkhlPgYfYbo/0JYSsqZSK+9enJHnyPj\nzaKqBVlo/54u7gAlOKs9IVkazu1fNUHTZBt3+AfDeXOO55zJhFRezg7rsTpI\nbaQNqgQ7M+ibEyvPPIpwhCwtcmszqLlstlOgjumOcD9FcAbEXDrf6j/Gr/tO\npyacKj9DDWvY4wG6wqBRMSD1H/3GHlAJO2+lgAywf4ZsqCfyI0yYWXtTkPaS\n5WS4WeqbWJILUXk8P3pInjXyFUK/FSjv5rp/gaS6hkPaMkLPAgTfKu+JEucn\nv7WFoPdIw+ZmQRPNB+1P+lFaurEcesu8tIxCfV+uS25jgsJAtgOv/z+0G82J\nh4vNbDnbnZTElRhaFLri8dDxWuknluQdjzlJ29HmDLR3fJq4/uVlJx5jdjeD\nDvCh0TkPatQfBwfG5rI4Rd2b7utWuOp+JT9ldD7NPXxDYcEzml3GiYitAIGJ\njY7hVz25lgEHFuqbWDl5pXGC+mm8QG5o3XpegCK1vukTIT4FbC/klnqX/Jk4\neqm/z8eEthx06nlAGrst+r/pwlnqtCUqveoOuAiPkCAYrXjmTgvIC2Z33mDc\nWcN4\r\n=F8rb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200809174445_1596995093344_0.9553328032840009","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200812002604":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200812002604","_id":"@accordproject/ui-markdown-editor@0.94.1-20200812002604","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"62518a6f7503423cdeffafe4599dfa912c3c0f7a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200812002604.tgz","fileCount":4,"integrity":"sha512-gGfuk1nlTIRGc0gVoRGA262ZiT3yiyLFmH08D6MHM8OJTM4dLOynoRRgnBa+WcN+tycd6qEpS+G+2E6y4QzlnQ==","signatures":[{"sig":"MEUCIQDL1BR71q2ETm8F4j7mPgU3sFetewHn6yrYWgIVT8OB2gIgLfNOE08yUN5phBRQExK4K17LQXJCW+matn6JLoRZksE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMzckCRA9TVsSAnZWagAACAQP/ipTxlG6BkcuyQwXkOOO\n64d1MWJF5Pf0ovxvi93U5jzU8V1LI6UG15PsWjsb5wllmPxn5LqC6ktdtGwD\n4JoXp8CESdcrNsR3aUVsWiv5//DHjKPAKSICrdgTlAMFSzZhKKMgPjlCS4ZC\nUAgEFBS5HCeMlU/YIc3kS75OKgcKbCj7yK0iQ/I2QhD4TsoaRFIi7aQXwkjr\nLNCca2gdldlxUNjimMgatqm05ly0beIRgusVQKV7PoGC3H6fslE16PCRtg9N\nA2X81rQH2pXkbNTe8BqfQBoNMw5b2Q/B+eOZgHpDNYVbUguVEzcBDumL9yIJ\nof2HtdQtGQyaPcNeanoYbtZPN/BBTRWNyoJZK9fCMGiQbIqRtKoxtjgEaMEy\nu0NbZRIgOU1Ti+Fw9xLKq5YfTovpQuBUxHs7cgzSaBMxsHCESMf2/aY/eS8H\nUTj3aKS5F6SQXnjYRf4HeI3ehOhS5uB9u+qlRZ8GoRDgvckHoxeVFE92YwSW\n2ObOoMdtz76sO1w/nIMNvF9oMciXKV/tFSKBXXnpt8XTXKDwu+kKxg8NIdVp\ngx6XB+t+aw/+3Rh8aZP4ywohPiNjWqZt7UVfaciSYIwMsKC6C5p99rLGJLoA\nkJfGgk5UsOFsmJ73qb1rvN/w90dS03aL9bMZp7EDFx9dDc/432VoukdRt3Am\nwUij\r\n=B00w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200812002604_1597191971740_0.9087413151405472","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200812144241":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200812144241","_id":"@accordproject/ui-markdown-editor@0.94.1-20200812144241","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5794c4a142d5531883b75d828670fc515bf64b8c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200812144241.tgz","fileCount":4,"integrity":"sha512-KvTw7YCqp6JyvuN/fhsZXgNHJJKUGivLMI3k0UbFUGqVM8lrsPEfS3ao2mffxitEKi64NyMp9oLEJEoJcM0xxw==","signatures":[{"sig":"MEYCIQCHtAcCyfN4MeUksGpczK6E+hy9B09oRXTZbelXI7WpTgIhAKKBwT4l2j8Zb0dqwEounccXso7a4sgN5RmJSPM9s9jD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM//qCRA9TVsSAnZWagAAOAsP/1UUAP6MTGR/btVxsrza\neK8TuVVlowQybILQBTMg5J7U0jP+oXfmU3RYazJffQIi102qn2Gov2bin/F1\nNPixCmML2mB3gvdv+N0DiAuqb0soky1BDt1P7j38JuURVFU03rQ8T0DzWfjY\n3iRODUOIhysgB1I3r2je6DInFfi/FPhkRI5vHPhNgGErfdY8SW5HttrATrd2\nF8eIvfxeTp2U1tHocTOjYhVMb7OFbsPSk4wW+ufwmdM/6nDQBd816IcCX1s5\neMCpyb1MS+QnTd32aEVtBxuKOrpbf2B9qi8712QS0GO3N6IPsPdPyYCfFe/z\nsh01wf0kiiCrIT5ZP4rd3HTXuB6w4my41k77gMKmYGQ6reB6DZGrLt/I1i/q\nU2i7x8HwXQdK0VsJHDAsGZBoD+4Ey+rc8Z3NdW+cA4i0iDOiyJ1736rh5E5E\ndhexwWN05D4ZXilA/IA8gWkqldcF8GlZW4+AUEvV8O5YnO3htMfcho+bG9aY\n3ExOwxzmxTPCFX9+0YHtkt1wMvxUROSLHHVu/l4rVGoqK5rt5Uun3W6W+els\nbelvBvhNWbvTSgPYlY4LxE2+h7icgtoph+0Kg49KbQnn26DDCpgov9xjw/NS\nWEfKEgv9/j2n90hH/OzV/Lw1vVFNxOu1V325o02IMCMsmM7IcI+C5EGqFXw+\nEGtL\r\n=iVZn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200812144241_1597243369825_0.4894470883501263","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200812215908":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200812215908","_id":"@accordproject/ui-markdown-editor@0.94.1-20200812215908","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"9f7483e3a4e48eb63bf79c71854a2e89436fee7b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200812215908.tgz","fileCount":4,"integrity":"sha512-QrVcPiHrz1+GLUYy5FMNFdtz3UYIMVlns7cKiTsZeajpsboa0BaVbHiHx/AZNjgaUqAm4aDI+2JZ1kYve5p7Gw==","signatures":[{"sig":"MEUCIQCQtUIwFg8cH/YJPJX0MkyCwYMA+ed36MiMWjCy6srQMAIgUdEH3BGz0QbN7LqL0OuhGH+WYvAszFxzrvGBJPZlNxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNGY1CRA9TVsSAnZWagAA5hkP/3eaWPF4vJFI0HVT7Fg4\nmePd+KpCBCvGZ+xXbOjS7dMvva2t5KJOnxYUc+BPzJR5FT2j3zGPH8x5ZO/Q\nH/USPzZrKZfolbeapICJagohyJqEFLUr8aREYZnBKi+1UahSzY3QkHeVt0fR\ndJIxX9ieXAJbut0p+17/hgkMDdh1MNdLphlCpzU+1njCJQFELEK6CP7/h16j\nV9/mmdmN9BNa96ZcV4x+JORZB76zKIzIbDu047uL81z4uBz7GRm0LUvwzpiy\njC1QMFh3Arr9Br8pDlKNQDQiRM0i4KBzcsZmNQ4P2loJZKJKNbHMZjbf0TFI\nqGTsm4KInF7FIQyv9uW6+gWoh5x/b9vDeaYvja8D085K1IXJdlHlPNUCLj36\nHGiZzr/s2jghV6AywEU4DrDWbs4epBVtQC/fw5MULE4Vhs6UzM5v/O7TgKt2\nnE/cu+XnCzOMj37izsHURz3V5M/aruXbBozsuuoFRasZ5nODtOd0BFntFGpE\nuOwzOd8FO0I4P9g+/7VENxrKrttcUC3oTkD5U50PqSOieHzM1HI5G7WH0Snl\nuSlvX4GQ3os9HphUAa4PL93pVyKAVrQEcprwY6cm7lNUk0/7mGysfWzO8Efa\nftpGZejwYaihkhilFsEJyiM/gqN1sJY3QOyEW3qS6Ws17mZmnABAkhNCe2Vk\nq9ti\r\n=A+6F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200812215908_1597269557207_0.4292296815870824","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200812220707":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200812220707","_id":"@accordproject/ui-markdown-editor@0.94.1-20200812220707","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"42e9931267ad6c4b82d6740dc095f2a181b0759e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200812220707.tgz","fileCount":4,"integrity":"sha512-y+UbtbkATrX4wvDO97MUKX5kezbvH0wdP/CnnbyHjAp5Mt4U+OuLAK7BcL1Zc71LJ/OLoDs/MKVHW5j8nV7e7g==","signatures":[{"sig":"MEUCIQCU8ycyXX2GaWHYm/dVG5WkzCSFnx0wcrDW86pSj4DkOQIgMqR7Jh0yZT41bvupRY9645zwcz7F62iaqIlhG58buMM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNGgTCRA9TVsSAnZWagAA8MMP/Rw3oJF4LllZVKgQZVV2\nGxKWpcDOfKnC3uDGhSwkOvQenqmyM1Z8ksrifbM2Gw+Ojbn9AsgpNu2hgpm9\nKa77B0JTEAMKN7B/EvnKVx0VMO4qzsEFUF3W2pjoSMKOj7FVP6nbZD+rTcvi\nx3YCqB07ZSZuX/kkqBW4ccpuFMxqntYfBB9ohHXgvz9q03ASlnS9TvKAgHXa\nwTsdA9DffPPq9C6AOpeM62RESU+IN2zXrHz1sFnxTtpidpo5R3y+zsyunTve\nCmuMhCLqrJqoaM2VGXnUpkpJx5NjMTktdDSCvOCevTy3VaYx9lVVhMr2V8Lc\nAATuN6hnd7vRfsGjkDjWNDsTDyXzWGbaRgEQLZqPjCusjwCzY33PmWeBg0l2\nagDIRh4qDe9uXWKeSscycjYZsjaOWr5M/akd92SN4k2is3ymX88J1f9Cb6ki\nheVjI8XloTQQ0+jNK3ntyR1iM2czhaq/WLhS3fZh8cf8RID5IhVdOq+z4s5N\nsDvzeXM1YwyjjnX+mo6WAUNOUBKDdrbC/ejVjXWVhLM6Tu696imLiXNMa9Zu\nvC3zu5kpVZJZZAjQITo9pJjwCrIc4optGyyelIj3QYvHNmmmNVsEFjQbPZTs\nls3beockQ++FhrAw7WXDiwhxaMJt7jS0pE5MzF7yWzMGV/niaMOv8IAEDyUV\ngRzx\r\n=O9Eq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200812220707_1597270034639_0.8503193769678827","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200813133255":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200813133255","_id":"@accordproject/ui-markdown-editor@0.94.1-20200813133255","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"0b530da893a3ccdd639766a91d830b1a465f1311","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200813133255.tgz","fileCount":4,"integrity":"sha512-wk9u7Bun10M63d2siJbTU1U6Kq9lKOtQ5/xb7sy9iL83nCnmdZehPRNgpPV2McZpp/bDd2dHQEZO1cI/WDuQKA==","signatures":[{"sig":"MEQCIAUaod/goVez+IHhgi0gYcUzsVh0vPKSSd5aEZaSNFeQAiBcYiCzVKN1VnF3uis0DLlXSiVcRBAuExIMulCYpvEGRQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNUEOCRA9TVsSAnZWagAAZ64QAIjlltmiGMfxgeOaQOh3\ngvzPSip1xtQdaqeUh61VcGPYwDNZ6EXtziwdfQ0YgNIIcGQNciw0XS21GFpi\nSwmKB/Hxxdooa5f905/goLRaudXO0Mx0xhwrEz5ud+JgzIwiWG3jeBY541iv\nV3vjnEWkCGgp7RcsOImsNsH9CanTPsPZKXn+c3xpAL2lhcC/WiuDSZNotKaT\nGVEJbLa7fciMhvHyNWFCOIH/K6BRzgz512nSRiHDAfv5tOXdbb2oHLxwT0FV\nLUmlb/eV3lg5kYjL5LfydjYTgQ24UFbblTo/pLG4Q91zD6NDNkr/bXlP+i+e\nHLr+jzu/Buw9ldDfUKgGOwyA4JdD8F73qvUJBNwUdCNWU0DdoklZMhGEe6Jm\n5irkD5j3GnScRhoXI4kiv6RULESbyoipud4tIAnv2DMVj2BNGOpwGCdFRGzQ\nigwYsJDHykaf2CiHBl6G3cfYrkiDaNecApKeGxI5icjCiF1fM7woTL7z5YXZ\nTPfO8D2/gnwY6u+P7cZt4BjsIqynJ66aGyG636zwO/kOiaZI6Cwhyau3bFbA\nRbUf/V8uIrZ6sI3ClAveit4cdf/gZ2nuwWKKLNDDzDIpDoIqZn1IkmGPyPTa\nPld/Cg0v8Eo++H5hVPWuJPuhZb7GIMlkBtgYjdghmHffN94n6CsR65WrUWuc\nnCIQ\r\n=iORC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200813133255_1597325582042_0.10692300926247689","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200813135108":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200813135108","_id":"@accordproject/ui-markdown-editor@0.94.1-20200813135108","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"f9ec7522270e3846405e180a482c4b21b800a574","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200813135108.tgz","fileCount":4,"integrity":"sha512-gA+kcsHGTYco9tfj+N2rgsmuCRp9ud+rqoPZKC8xaCx53JEZ0G1MbiE2kSjxRjNKqzHpwl6mt4p8S4soXxAXUw==","signatures":[{"sig":"MEUCIQC6Ld2xQ/gaVbPBw3aU7YkZjV1ktvyeKIItB+BS+h+qWAIgFhEQE0FEc2SL2s3GVWD44zI4Yx1EifH04D8e/BP8Eo8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNUVVCRA9TVsSAnZWagAAwssP/1ZDC4SyadGgvX/tK8ea\n8OGM/2clXm2uAxJPYkbKx0qaDCnEEayncabfPmG4W3z1DWr5H+D7R/NcfzXV\nyhSCL2FEOn1+8BC08vTLm5G5U8Plq+UnlLDLDVwCmL70gTLbByiB3x9JYocu\nkOhZRqg2x9IGYEJKGfPQdXsaKtqZfkuRBm6gportxSp20xJMYUKxmjcENr8/\nyBt182mvAVHhUTEHEIy6sFVRHgRH0gUQWQjkyrhy97gruz7WMDpIZ3eePWwD\ntODAgpwSBrpTeoqzLyMm07jMwoa5xe5U8m55DE33n7MmGJ5rcsCXwIBi8nRz\nR9a1V90te3ryhm5ghRUpIkFXT06Nuj8OVsEN+5TbJKQ7+9SnaJCXZ2lznuau\ncDyXK701tTWaNS7ukeH7jtEZpGSaS4lDdM4p26xJEMViJPyq92BFf9MOvRd9\n6PvEXSBaWsgExg9mT0hJOOVoLIRzYPrKdr1vQiHWcWoPnlJ1SxeUR7fjQb1D\n+x7bkZ5Vv0uV2yXGbgv+3GqM7ilqtwhHsrQN56N09J4+xz0jE/yE7YhSe1dn\nalPDPNAgr49xtcDwXxwv4dGEtXhCfzK7Xcf/j9vVIypy9SbrZSiINmICGPTk\n1wZpE9EsnFQEBalMpvh/uRQDgv7TsWP5ksfc6xS/A9GL1p727kUCJHZZHevw\nqbdH\r\n=FhiN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200813135108_1597326676699_0.47274564762089","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200813140559":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200813140559","_id":"@accordproject/ui-markdown-editor@0.94.1-20200813140559","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5ed9538b9d81f95556b3b88fb356c6801f2de7b7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200813140559.tgz","fileCount":4,"integrity":"sha512-TF0Pd0XvbcVdPxNMzisXTjeJ9iqX7tVCpsQiumZYfzxW4rAoWR46TYzGD01bTsd59UFES4fkQw+1c0SbVm3k1A==","signatures":[{"sig":"MEQCIFRlIQDDg22JlvJtt56w2vWgszGkmDIezksuC8bneh+KAiANidJL5S8yCbSRP1TnJ5fecQx+6nb3zn6qRQz00L/dxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNUjOCRA9TVsSAnZWagAAM4QP/2pl+YzEK5fgTzRt3zDx\nZJ2QTv1rGf4MZl5vc95FuFoWQR84MHc7WAOIq83VNisFNofhsKiuVIDaHRlF\nYKbafG1SPuS+7W44E3hB18bCuMxC8rJZnLDvoTRuy5vozctbhlRnuIq2P1nL\nfkaYvn9jaEqb2rex2kzlnWpkJgspwKZRoqfN9wqterJKRXCFIUlILqPuA+z/\nC0DlQb/gh/ZGfYiQbZuqs2NV4TgSqvD2m1izQUkms0kmcglAGqJs1j9HzxwH\nU/PpJ8GaqjZR1imkwX5Q3m9tc7UKxplEbfTAoc5EH/XtapE74hajxv1b1lKC\noyWvkIX1BnakWRMKXPrX2nQt6c5u1v95UtIeloxftUhEAUPbTabDmbf1o9xx\nnMQRnGpL84wg7wvNeWr91jdHBZTx0DhlBaK4bT+//wr+wp0HpTFqdEgeiYq8\nVD/6RliWfOAWPWPqjPYgTKisjsmab898vFgefyCFH3yI7HdO0ZLp6FtzYnM7\nz7CceIE+1mpUvdN7hkGqgCajoXedCBo0XQVusVTFr1cMNB0AHIFPTHDZYO0T\nrTGuvUnfC7I1jq5Z8gLy8kNOFasA/m+mbcEHuuZma0RTe6JSg1dxmDIk1QIs\nbl5d6EABC1ma4fPgJfbX9dcEmwpG+8jTeL0kT3tOWiKwNiYpb2lNnrVankbZ\nNX4d\r\n=fLMB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200813140559_1597327566087_0.7914189839071726","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200813213028":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200813213028","_id":"@accordproject/ui-markdown-editor@0.94.1-20200813213028","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"3147bdcc313aa21cb0a9ff0e8aa03b568b2ddb37","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200813213028.tgz","fileCount":4,"integrity":"sha512-7alQfYSI0dtmCoacmyEdZiBIGyYfWkgvYx/6/sGpl7lRvZ5jnV6WOgqnBLQaLUh5kkxxZ21p5DFGqYPVbuAN7Q==","signatures":[{"sig":"MEUCIALOt0EWjNl45soJjJCiayRctB27o9MBqGaOuoVH0rMnAiEA1Cw2OTc3wgWCzHSa4NPhhw6bUOAcPFbXPu/Cz4YTLiU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNbD8CRA9TVsSAnZWagAAwksP/RZsmOJtsBxDrbohqpcW\nai2wvJapxEYbBb9/lzgD9kBnOX69ZFlv5cPhoKHx+/HIxsWGd7+3On5RLE7b\nxMv2JfhIGLPQUeAmMPdcJ2sJ3g+ogOh2AB4KMyzVfvp5N9xTAyx5V1ULVNyv\nulU7rBcIkqTppum6XysyABE50IeD3VYUkhOcFBde5Jr4Wr4mvr9X2JjBAXcB\nnM7axAkSFlArIT5y1Xwm1m6cJUCrfHURV1z5OPRniLvvUhEn3KYQV9ZSJzAo\nifPa+0j2KqQcka1FXLm9g+EJ7lExC9KaVV4FYxuxaoT7ZjkU1NlREmUvfhQn\nNbFNIow4kxv0IECsZ+yaauYG7Q77px3WdRcvu6Kz89086Kvkol9ijLiJUqz+\n13bUlATcrKjSH00gaNGng7N0D8BzxwHBtdPBFvTf26X8LqZ2zS4qzsoyzp0S\nDIsN5gY8K/hV/cpxj2A4s5fyA4YoPtu54pvTNMkOe+rwLuVBU+qU00znG22f\nVq5pvNQq5QKO5S6dx90Bi+rA/8ulifcij9H5SDZX6G+Amauo16C4sMr+39UO\n+rEdE1F2GK3YB4qCJpdvD4xULS4bEr8hHWHENyvEYSlnnYtvlmd2tzorNmEu\nMw0NEIgtaqmtgJMDKxB2x6rPSdRTbAzqJn1EUt5ELnsmdI+bkKRJK6Z14JMs\n3mQJ\r\n=aOhV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200813213028_1597354235755_0.20062076611620894","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200814131528":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200814131528","_id":"@accordproject/ui-markdown-editor@0.94.1-20200814131528","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e87f945cdd9ac392e7d0e1691eedac0edf618f23","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200814131528.tgz","fileCount":4,"integrity":"sha512-Iju2vLUweyx0ihRA1stCjF3q7nlOHLCm4FGETR3p6V0bvfBaT4hFR7+RDIIjKcwP330Ta75PbQOeCBOQUOsnKA==","signatures":[{"sig":"MEUCIGd4jJ/uF2M8hrLJj6sOpsjPmXRHV4NmrXf8Hcll8is3AiEA/q/PF/FnzZEgJm3x1N82hdi047ICxPazKIG15JS28EA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNo5+CRA9TVsSAnZWagAAZXMP/3YHA4g2KisqWPn19YS5\n/zUa0CrnrPxAKnmroYai4s6aDtgoQhbDP8az2zooCjS6YYaHYO5SjeNJUaFX\nyrkZCIIdyItPwisRl02Z33YZiVIrgxRcfw2AYgsC/EURAHwS5bBzYa2U/d4y\nM6X93DKMyB8Ii5UuCfKnSIro0CE5hIrIW6B0a9rdONGuZv2rj8Q9bz6sWkpK\nX8f3yXHqtA7A/23IVZnDErsp9S1AtaVghW+A2gKiDVoBWGEHTO7QNRcbjWIr\nOStzkxazfoWr5jI7V5ri2llm6KjAnEHWfZPOwhTI6YBbwTIjTaMoZWTVVP/A\nBmw3ZELTNH1pmgLRXau44VAlzU2k3XcXNrDNdTmKmvEjBxqquiUAfoUdb/Me\nQ2eU7m/vejGGvN0yKDGEv+kI59UD9ACVeMSKXAEBfWPySEq79OYwsCnZMkCb\nIqs9BMfkNpFUA7rOXXixO8y2KE0mWM7655QoR5CBnRRWcTM5BJuDA93IaEkU\nYRB/m9uCGFdSjmytzdO/X2U1Q+E8FdAgFz2ui3YWAncoY2M4fmb4JYxxm9gT\nqivEiDCeclMLqt7FLW+UMRGzT/fRZGqzCvzxHY7Rc9omz+sn2VMmEK4N7fbU\npgWxrzi2eNaEX7x7RAZOdgZ4d0DEU5gLAWuunoOJPdXZ6pqKjq8dNrI9Dvqk\npTaA\r\n=QyPj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200814131528_1597410942477_0.08553413830588052","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817202917":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817202917","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817202917","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cb67d88b7fe5409f2b89dfcb7e2e705a4827a357","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817202917.tgz","fileCount":4,"integrity":"sha512-j6xVuN/mRA3EJ0ZgNp4nJ5cXdvYvOqXGhZdaRd1DZdm3+eYDBgk6ir2vMALA734ocwtI3I3OdhXucWh9OZofqw==","signatures":[{"sig":"MEQCIC24R608nnqrdLiccNpNxAvtaGqwwWarzfc6XgpQQ5PJAiAj7lbPCprh5o+EGvDYTiDruhiZGzCKgXh7REq21BuFYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOuimCRA9TVsSAnZWagAAU8gP/iaMzsNfk2xxVoBZ/EI6\nsn0TCV3Z06c3jwN9Kx2dnqwIuJuahBHYvwToRfkGvPE2ntpGld37xsQHeRNU\nhvfFvIhnC2NU5d+0JcWWXbgWEf+qGLSgGePu+TaRkVtkAER4cldRP2oOcpjC\nCL3V6WqTEiNCUqAfOUn0Uo8CAjDoBea07cX2R/1V9V5Lw0+r0ih0t8eD51/f\nHVYefYc9srBkPVmgFKpaD3mEdp6upjmziAsyKaHnNxaJgmKLie71G9IU8SbV\n8j4CV1cq4PZAC8eYvaSZstYcYJ9BwtwwTnC/7+uGy+WK7syhs/R9SwWA9Ffo\nF09IcvELPg4DyTBxjMv551WJ+4RccryibQuj59bFQAdlyV3jtXDWGHGJ4wzQ\nIVN4yb2REWvDiMQfKykwLjlwm4scANMFMdB1rxcgYQdVMagZIG5jsLD3zCyt\nBW7ETLi89tWr1LyzROYer4XhXpArL8MifyqFURY2/aLC1nBj0nlLedGk+ZVR\n6oYtASPXDIvgloomfp+D43ueKKPxUXIvnKZAKiKaqxFKpsVq0wwZ8u+zvrze\nKJC36iHfqdeTv7VCa7cjnKvSz8yCOh9u6Kj8R6zmBU7VVuPEkz2cyjC4NEk0\nJJImmzOy/Ys7kLJDgBCDvq4qgF0teB376kZYu8jwAEBvY1vxF8DfoUvSmQcj\n4FaM\r\n=pUpC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817202917_1597696165594_0.867683967438756","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817203655":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817203655","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817203655","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"bfa6036a85354b98108b859602352d8916d6d7d5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817203655.tgz","fileCount":4,"integrity":"sha512-9cuTnByREh9MzLv1+kF35qgj9w6PE3yDC5JrcUd2tASrUdf6GwksQS6tie1uZyU9xuEBz+zyY18Gws5JUzTvkw==","signatures":[{"sig":"MEQCIB06OBMqQE/q6M5C8POe2fGWVxA1wV5733XCqEqwWbH+AiAhJstsWl9oo6umoxst/KThWwLDoBfABL2gEBW3PElRiA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOupuCRA9TVsSAnZWagAATWIP/1UVfURIGQD0zl1bDeUg\n2NMNpaqIN8fKFmUHHbsUGQUe50+W2PrJUTXLzJP3JXZVNBrXmsBGaS7TmHx1\nSO5N+yN/MfwyRjAH0htumXvb5Wrokd4I64aHAue+vSIDKoIYhdsPQtDt7Y29\nyKzDNAsLAHz+kb2itQCCZQWbbKRiybmKif/UelIMT8mo4FFjEx8gKqerYRWE\nHvcQuGOhuRZ8/KBNZgAxx5dh21mghVU/3/mB5/9774R5O3oe0MPHrL6ayMts\n2x0Cnn/sWXjvdC2Cz8wt6y6iNxRO/sUeHltZ+YX8cttXTZUFEL9vVMSDPhlW\nvdmnxHO0mRQeuiFk0C8RrYDnIrNQl4uqb1IUmOoRvcIt/zoqulBQq8Q1GERh\nt8okeqz8FORTZN+FyiOOxTmDL8HdOkLwCN/7GFTgj3oJi37YjVhkKM3yPV/c\nVtFuyR/iMYSIJXJJeDYSi4OFJwhLwTOUaTUPleSxMejTap7uMnKOzhNjTX3r\nG0ZPkmn7hA1cs3XiEp0tlf1qLhU0I75xF1uzkroeplL24At7911O7rgyCV2E\nWEog3pSlWslEeEbDJb9tovxcJKjp5R6TbJG2JJo7vErs3s4Shxafmjsmx0Ih\njdIE8HDKANDBhP2tv3MMkRYjoKsjMXPO20/k9Y62+YZgY1diN9AUeBZzUbuF\n4Gus\r\n=lMHC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.3","@accordproject/markdown-slate":"^0.12.3","@accordproject/markdown-cicero":"^0.12.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817203655_1597696622052_0.5750646028785911","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817204730":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817204730","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817204730","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"d9fd5e3cffd1afd9899c21cdc81f3b1d42a15439","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817204730.tgz","fileCount":4,"integrity":"sha512-329ZlDokpyg5+KbC2ScT2HB43stOBZvaGVuch9PMLuixB5UBYILg9204IFTkwsQHoJKoGgrkT7b0NS7DRZhl6w==","signatures":[{"sig":"MEUCIC5GtKNyj075ZDdEPwI85DT3WUgIiqpXFjhRtoXTMJXKAiEA7KCDWnzoIZQA9sSjW+vUZxv4TjA5tIhbVJVFSBZtdtY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOuzpCRA9TVsSAnZWagAAMB8P/jejPVdCQ23OYDMydEwE\nbAd9l2lN6yb08xUtQRZVMorDvhRaJxs3ISHx2ZJMh9Kt9fXMGbOYMVLUvhHw\nLA+/apLOc3uK5N6tq2t5UhBGDmaZb1lERvVZnX9Q1dLeRXYL8/Pd3bZSkAQr\nDJeILraaH2rETAM0uveMj5bzcgdA95sDzEfbU9b+YQgA5+HeycDhgn8XiYpJ\nP0lFl1GOAKxgou5QsvyCAsAO1PemlWVvYlCopYqj8MDubFnccWo5o+RHtjqs\nWeA/TNZc2qMS7YKzRaKEUDmXKlimGv1YHgPtzl3ubhYjkylIWXSp1ThPlroS\n76eai4kcNjda44RSKIcbkVb+Sxu/mgn40VFkOMJtxbm+4wDMotOcjRMQPYr0\nAqB/ghrG2lAqJ+cghqDrytBkxKihsYC/hsFHBZM1V8rluqGQV3o4PX0+en6w\nziIVH0QGMI5wwT7FckPyddoEQoGC7K+RWa1lEhLmUSZMWmwyhiNhJzfndEv4\nI/OdNGXjn3QAhEc3QTgViCjgaby2SGetJx58A7y9Hve+8DfLwqf/zDJ7xfOk\navvkDor7c/v+VGJsqa55orhrHK5fyZAPZptzzDssdzS+6p0px0R6mu6AdI18\nBpeZymVqN4bTLlFAWc7KCgz1bi3n1RTmbEKVb3zJhvY5v5nDbV3qP2Z80UI4\nl/BY\r\n=DBTm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817204730_1597697256804_0.04279100263541169","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817210100":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817210100","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817210100","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"b4311bba7489db8d0e76222340942f4da0ed0867","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817210100.tgz","fileCount":4,"integrity":"sha512-Th3N+XOvkt/1aMlep6xIUw7ydX06pLpBrLewLLGbYespJ6IDEmRi53Wzi7zSgMgoXzdeWiSx93YDtLVqeGyupQ==","signatures":[{"sig":"MEQCIHPal3Qa8jVWRVuECjfVhLLXZ4+adQ7j/zxMNmIDXo1FAiAdGE410AP6Jg4J4Na2odx8ir0EPCjxkgpYtkfMhGHkOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOvAUCRA9TVsSAnZWagAAxY0QAJTv5MtZXwcsNJ/qhWJC\n6Yqq1F2OHgb1ze0iVIhEtrjlUy3+lZvfY120djvy1vykggSuC3oR5rstca2Y\njVLe86r+OWLo4POLhLAlwWhf7mo9tOgH1FEqjdQW2fmKkmxbPqOEYnjqFN4E\nnndTLz83FHShyXXtBrd7yfk4MAp3O7VB8T/bltatddVnLElQLmjkFk80M0HA\nIv17VvxNobfdewcL0/E43sVc3F4ONZ6UBvy4cUXaUv90XknWIKh2vyPFV+1B\nORqQnJEvDrm/q8WklgBPHm2wORKml6lRjulwC5nvaq3A3rUFnm36zOxVMAnC\nxGduuPk/KDvDq3fvAolHfCvcgSJZmVPT5Y0rahnn48koHqdL8uyBEP1NWt/O\n6gJ/qyd0HpDf4/+BXYxSyiTvnLLU3zQU/OzCN2DG5s+raSmfLIQKPhUEYWs4\n89sLmIXMA/LH7QJHHV6Dx3lZbfLMT1MGtehLTdNIRxQGLGkrE2lHIaKTOUBr\nYd+sMo9PyGUbrWeHPMOiDleI0qZo65nW1ud6zLH0g6gWpomiWsHhTqAxKkRQ\npRxfTyZoFirOGN7WfUoRhhQ8T3xmHcuxUKpwvvBIO5vrz3igjXVLFg3yhvu3\n3pJ5JSmLFAfIN607sjlBka1n5Zm04/J9myqv4/C+OIfMFwctQSACsYL8ht/q\n/ZyK\r\n=xjBd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817210100_1597698068045_0.1384054348749515","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817212516":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817212516","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817212516","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"f180551eb9c6ba9129c3ad45b613b640cf2b0b09","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817212516.tgz","fileCount":4,"integrity":"sha512-jEx6wSkjyZ1pFco0jdDYkDAJdjx6RlOPE2dnZcui1otop7Kvn431SZPbYOls+Y6ecqyA62rVi0wC6Nb+gzRERw==","signatures":[{"sig":"MEUCIQCV4aDUUbpECwXOsCAQbajgqwodyGnHgvhkuPAPDpC/MwIgfi8/bDUyUb4pGPvUiF8uiim7cJohou6Nt2IGgSJj1sY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOvXHCRA9TVsSAnZWagAA0YMP/2tDiGmLnFPyprcMBqSQ\n56ebr6qqCW3pK8RJfRuhavLSSZiERu9kzHbhGmwoXZnpHJKQ2mGQTeKtOkfV\nE0PY3gAjOKPGJJ52pN1S6u48ucKXloEaZKgg6WSnn/HuIskW2fOJYIdJ/KG6\nP98n4xOyx7zTo8+uM4F7gvKaDYWzJF81iDVuYVJfIBa5wr+5tztAaS1evxZn\nBRj5ffRPm8kPrv/G6eHoxrKuOgfr9TrkpQ3FBeL0ms7aVncwO/GfS6/qhpsh\n8PjcBmvECiu2kQmeRDULsXSEPZu+VXNShP08cq+yoh3/kEmCIwIcSL+x/QfX\nCOdPhGLrbRLki7djcTWRtgdVmO7h/c4m14TzchKKPdqz1jE42Ll6fupC69qD\n/En8me2pXQjqFayahiA1+8vpmJ2brg2qrt4dV8kHyQpHobZupYwhiH/twDqY\nw0MyVY4Ev7JOX52WPseQsy9pajde4JheJBzcF1d98QfNd8LZqVG5DJNhoG25\nJISoBvi/+ftvjMCAiextYPJvDp+setha/j7TkspLr0QD0k2l6m33TuD/ue6Q\n61iZN9ixeyD+HXDMdUzA6K48RLRJeKZ3PbeIUj5topWWQD9SHYmNwguF+1fL\nyuoYFugnnJW1v8+OzhhSvEj2tj5d41AIR5NfZQEHHjkKSs3CBKqRkqpJY498\nLXn4\r\n=/Fwb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817212516_1597699526647_0.711490145685548","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817223342":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817223342","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817223342","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5f8e008c2d6c4d7594a9915ef9742dac99278f38","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817223342.tgz","fileCount":4,"integrity":"sha512-8ptzkjjgjYVC22q9p9jCOutfx8EEwE29AkKXgGtC5kT8LJhNnosEi8XSrgZCzGHGKWYdI1fPOkBVnPdLJHrrTw==","signatures":[{"sig":"MEYCIQDh04vkGkE2RYMRK7ScLKD+WwxVvKW1YfXqHIvZQyO8XQIhAKlqZ6+5syXynjnJ/9yt3x6R8u2a2lQgI3spzf/lVybK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOwXOCRA9TVsSAnZWagAAZPUP/R+XAN64adrbQWFS88Z6\nHKHvperXmYEn6+Vhzeb9onDljHaT9okl+JfbQ8WbP+LDst+eYzObFEFtGJ1P\n+L/QW40YRzuBeIMoqk8d0pGbyhL0E9/HtA9QzuETTW1pYEoi1KQUz/7PO4s5\nuANNBsXWUh3x9RA3PF7l5jLJLw7V5Dz83hxAPE8+JUnJ4G+NnT6uOxMM6ZGz\nQe1XOfUKQhz7sWxIXkWCQcYTInUuqWFnxMIRcYD/a+QmrSJhgV07cTgaplmq\nEGVhGnueTiVXA+ZtOy2XG+y6qlPZRG44KuILoh7SM+uTpBRdp7JyNV1Z8cK4\nyyCCLatkliUB+H5a9mePpNkkwyj6xh91jtrq2paspS8/3EQQh1uJuASV6htR\nyEpuObVlYjkFmfafDrTAOZDtd/r6FqWWasoncbgMihtPh5XtK4+jjSP/Cf7n\nD1gf8s2EsgoMGXwL+qRSr4OloBioQuOG0Q8waL+J5R+HZIHZtWt/4tlJrN4B\newI68AXtZdeThOH05x7KsO6Z49ayXJ18MliPTDcvnBGWE3blaKDaT8tbZHMT\nAngZt08cAfzegcn9XVDhnygZgutUGTh+7kYn+jybPnAwSkaZtOyph2WksqQF\nSmFbF9lWC4ph8SAYZH/5Zz7kXBrEl0YyHdbZKMDPE1Yq+0tAg+qTmYAS2Sz4\nUMXs\r\n=/s+0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817223342_1597703630136_0.8488130119261128","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200817225017":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200817225017","_id":"@accordproject/ui-markdown-editor@0.94.1-20200817225017","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cc8f8c8adfd6cb16b4b5663bbe50ebeef3a44e93","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200817225017.tgz","fileCount":4,"integrity":"sha512-AWxJQ0SvaVDZpMjtRBjJ1WMUQtho87VKZ/Z4ZXDfQKJ7URCo0aZq5u/72EcClPqVMCOW+Girj6sT8XTQOr+sSg==","signatures":[{"sig":"MEQCIH7yAzuszRUXda+l5Y24fXF2xRCVWRZlHguxhFv2i6c6AiAm8NjcUJIjHslb+wraILIQrFYOLKB6Bq7uAts18224Dw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOwmvCRA9TVsSAnZWagAA0x0P/jCHjGCG4fE0lAX4KiSS\np+1YT+P08n5wz+JLunEfnZQsbYKP9itJ8FK5LS3rMaizec+5D1lkzCBfzcsH\nIkKZKnWHlMq6D66BFSbuL8VQub2PF1HRbWnhhedktJDdXjp/b2hknk5+oibN\nCQlxJcYpfuFlfA9wCSgCgTii0eGAKdwr7mbfHTFzsCIr8G+kez179nOG/5ou\nVFjvxkwJEt3Qowjvt+42sABPPzRo4SRpgrxUjtbXKz7ybLqYeqMuSLkN9DpH\nB6ASi9Rxg8Zt7cGaeBRJFFKfWtt3KAU2dNZ41+RvXmhNqdE2GnZmHq9ufnEJ\nbRVyBJXerSI31mR7R83DOD41M7PPpWSpZ07OSVg2dul+mSOysXtpQVjLXksN\n0MN+UJzZid7fjAELikyIYEiL3Gxcfhtd1LTawjhyXmcjnhIhPpaqSrvofKL3\nlxaLcp2B5ctBSub3qPBOIoL897Nn00ZH6n5rNJH4iyQgWDJhZswKPmFKG+U+\n3xz+xdfYg6eD3zGWDvJj4aEvWm2k6sd7ICLNySMfwUDvfdXBJ6n45op8u6Bw\n+YK+15Up8fKXTPXSNG7XHr10MrGM9dvgwqDWnhH/UnRMF53O/mbO6oUgxeyX\nfv0WWsWlU008dJGUPPJnz5h8e4VqAt+zPq+B56JDW4qyNuymTBznCuewUeel\nBAQ6\r\n=CS1M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200817225017_1597704623470_0.06299599880029416","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818093335":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818093335","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818093335","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"79d1c6f6b84a6bc9bd02fc49ce78bccef37df18b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818093335.tgz","fileCount":4,"integrity":"sha512-c0jkFmt3/7BQ+mr6RR0u7pimhAJI0+67zOrF5+eNJMu54tLs9a4m3LFORPqqjrKXKlyKP7bvR8Ex7LuI72YMpg==","signatures":[{"sig":"MEYCIQDrD1C5MKhiq8HBPwsiJE0i8wdvoX4I6Wq9DxXuXyVYYgIhALwGqlW1q9nljcJapbxYrYU0QwQv3ZB4PC8vo8adWWzf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6B6CRA9TVsSAnZWagAAhbYP/3K6PdZ2nzuL8yX0Ac2j\ngiTKGN/2Cx47o+mHimEnYWJ+hI/GuyhcIhtm2nA0a0ya/015OkhgPFvtwvES\nuA1D2FRHK90MerJhBK2AuFEbzb9z8mB/VrL+oQA0N168yHcj6xVlr4c/V6vt\na6M73UCvCaW3ZSIb5MTJp4wOAgFUvCy6tUZX8Ze5AXAks3J1MMCca6iMFrP9\nQgCS4+HtUchuG9a5GRIJbk9PrYbNZEL4TvzeDdyLnUGZP0adJOyP+LudJCYE\nGYK0ujTBcxIDS/9F6Ey19Nec7uFye/HYP1mK7W1WAeM5HGcDgbdzNf8D62gz\n9lu9uM9fBDkxQYy9CV1GvJpqlV7G2YDx0YU8aOzwAbFACzq/yr04Wx08k5BW\nArlAoUW9NtqSmxxKJi/u3OmV2CMQ2oICgRSHQSMQ/qaH0sGA+b8kfCDNrhOB\n797VBq0V/1WOrmjn5kVaNR64Y4lwQz77IHqzhHrEpq8cFy3j9xYdkULIF3rI\nsvsaKNx6UTMCYpBfWRUCcg4Ip3w3xS+7EgT9DlEsOxeNabQ7KF9uEyzIYGG+\n7d3hYbpJGWtoru8ccnEz3xBV9eqkgsbyaDMQKJ7R8lQErU1bwGoTFCUspIJs\nOc8ca/58XQ8WMiLGYMIeJrqIQ38WWc510JlunOzY7DlARUk89T8bxOxck+4q\nXtze\r\n=arHd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818093335_1597743226208_0.3017474682843242","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818101800":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818101800","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818101800","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"517fbc3913b905396673045698eca9a377305683","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818101800.tgz","fileCount":4,"integrity":"sha512-N9iROt5PGCb+iv5WhSUtafnV4ONYPg8FiZcYAsV8YViC8ngfGrVL+TcIj8TbhS7OOrHyRWYDGgeBcVF5miQ+2A==","signatures":[{"sig":"MEUCIQCKqazMs2CSEMIcjtWBIUOPvToM8GKbULx/Cr3E+d5wuQIgPb07uElKB6+FWrFsNq5/84NUgaSuY7wWwXjjiUrJvtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO6reCRA9TVsSAnZWagAAvOoP/jJPdFY+cIxdCdWyMlF/\nXio1m0d0GAMr4zkqtuUbNiNU1kF1b+SqlNWPWD0S5m3gzO6ZxVSDoXQCGAkT\nm14eGk/uCpb2R+saHLK3yOZWI6cK9xl1sUwqLWk7DiErwcqRMP0UegbAuPCJ\nFcyGktt2dAZq4F5Y0/6SDarWbWX1gJ0czACJ7gg0YYrSd+BulXlXwpDV1Wri\ntxoLZQx6Ugbyt37/r00ko6SS4165nRz9bzh8KlE61NSQb3dL+w4hxdUyxfSz\nkWSXF/VkaCvCNT4sxkm43941MNgHT52/O+CICqpewNEb1XmcOZBj6LcvoC9c\nS148Z9FsYZwTANRXdtrmuP1HzvMtpWyQvK+k6syr4TQ7SXTlJ8prlBB675vY\nJQGcQ6A8YRTK2OThz0pukrsWbrbB31+0sK6UWVbdaxJUAuegToDU8oAsaOy+\nf4S1Xru2TSOMQYzYzftlMlbvVVxdg3pobtdZUq4QZPFmCCCo87vanE/wEVxl\n2A+5aGyTbXGuJaBmQVcjOiPR7oqOfcHaH4vitx4E+cGTuKsdciZdOm2nCQd1\n2yIrjjW0/KblqXuHCTFoZFNd0TCFecLNh2WX4ErMftISBZlKH0p5uoiSAn6H\na06BX211zm6lu1txmCaH6sczzHVCI4qHUcfxSREVXcu7a5XAmUqO2RIpbOWv\nrd3c\r\n=vX1l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.3","react-dom":">=16.13.1","slate-react":">=0.58.3","slate-history":">=0.58.3","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818101800_1597745886337_0.7748846639559259","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818161018":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818161018","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818161018","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"e69a0da3b645ac2677dce495c02e5a0fb2ee4bc0","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818161018.tgz","fileCount":4,"integrity":"sha512-CsHKbgksQEnL3qKQ9Ui6pOLb5U8SkS8j4uVtWd8MAP8hUkFNJYvXBxDRale57muGYMzowVMNC39LFdAp8K2KSg==","signatures":[{"sig":"MEQCIDg57vXnDnzgBHxrSQdu11PnWOlnRQly/Un3CYOiVa+LAiB2sDMAvgOQEd9ysunc1m1fO365g266oN8PcaNJ9S4h4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfO/1xCRA9TVsSAnZWagAA4GAP/1zBjfVJctcA1Ii9Po8i\nBHbEZAnnZsVGMre3L0/UPQwhqTpvo2YCmDLEvnGvv5jaoY1hG/CcxQJYmK6j\nMUFEFJOeXt0+EWwmQDHZ91+alJK55Q0obXx12bD2XRY/kvqd5OtwQkS3wEB8\nHolWIRW7+sT1YGT0ieTDbuSb5xQmKyDjgEyzfge8vv1nwRkKmFwIpEuJ5iMf\ng2rN2C9bEakng1YqQPN9qYzs5G8Hhat2b97/UWj/w5kvLzWTXgbjFALKFEoi\nAKoiFrFSiF0sr/cRub6mcZX+QaD/OwKKXXC3Ovj2rlE4QinbUt7mjdmX162/\nvYFQUaccpgNVRub0uW4IZU8TUFXVoBmXqUcGre0+rtVRYN0h0Zu4Nj/Vtg4E\nHTFdd8j0PJRWHfPhKbrIUkRVzL7FlGbVVn1/9rjv8lowqciaWMTXieWo8w4G\nVWp7YgNrwekMutQCbqw7JswU+86mfZvlqC8b2v+MTCpkv96LauhcZbrkBVNt\nnD9ysehFRXomJ5qfPaEZ0Wa+zHjkHrZlmFwW9jAa16KP3XoLfGwJYjv5Zb2v\nVRTNoQdFHB30dNxLAJXPKdPrDZTtlw7Lxxh6iBt6BeIXBFPRMEzvksx6RI+s\ntN+PHgYv9qjdWAg9/+vpB9OASC/73CnqcLzXP7tm/SGB2C98lXElI++HLS7t\nzyOW\r\n=5ujw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818161018_1597767024733_0.44450849098869494","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818165425":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818165425","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818165425","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"a687f61634c7d158b4b7d0d8cf5569fd54068aca","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818165425.tgz","fileCount":4,"integrity":"sha512-nBRzij4QoOZSZjpAbDGcjKITWq6gBHti8UDH2redA3S8y50mIzL6i8p+sko4DNGpPyicRxvdlkpd3zHbYa7xNg==","signatures":[{"sig":"MEUCIDhJyuGk3s3/0dtxhLl+glu8ZC+xFvC9g7p6r9dXi9DCAiEAh968BebTGw++J+DpNeT5Pl7jEaNog4b3L1fJhRAjEt8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPAfICRA9TVsSAnZWagAAGNQQAJ5JFN44mwtvdUQ8AGfk\n2/XDkKo5BEGjnvU+xcmAg9IZx+aIo8enq1vMbRXOyFzm4LhzesQwZco/GTDm\nO53dc5vzC7wbVUGFA9246JjyEGRpfCiLEtMPTyCIxeofqo69cZhlnjS7lOqP\nTZmlBTBFICxhkAT7ZCIMG/lwQ73MKtQ2T1CiBwTvdyJUlQp+1JgUdQ53s0+i\nv611wo9f5tvcPGURX9CLDUnAEFSaiv74U3y0xyC4pOfi9at0Aclh0ve+EJgZ\nnFhoAQ4mkicmNnhsebY7iBvbxcpstbOveSzbZzUW/xUsi7c/xry39LhTXtd3\nGtTnFBg5M2riUqyAJhD1a1vdU1oXbfb+HSYJAduTzN/X0eUM12X43346bHOl\nodCOQTnLDG0WWWuhj5R/2f1dDKB3caqNkKXRrXnQsg0o/IzMChcKnth/8W8K\n/pTeFdxpW/dufxLF0dzKTmqqW47lx5bm1APubyzDl6eRKjbvfk+15/SvzNf7\nHKyCtM8+8LDWD3FMJrADwhgIzQvxZYd9lrc6T8yZDcctcmPeqJa0Fk7Tgku/\nSmOAyLGTAtZ/eAqSgCPDTR8I4HXdoWmuhK7vszSC71NWsoVtHQ63nd1V9Poe\nWoE2Fgk6HRnhDFm+FwrPR8xdpSFtY0zmXtfS1ZQsUYzP7eqGX83zcmchGUUD\nYQZj\r\n=XZTI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818165425_1597769671846_0.45646370636436995","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818175055":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818175055","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818175055","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5659dffb3e90836c3f73ab3b411bf5f5952dc632","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818175055.tgz","fileCount":4,"integrity":"sha512-JmS3BIe6NB3y1YSmKbQk2PHkLFcf5xQAm9EW0ASOqcrkFx+i5k0/lDp413ELASWZun/XnIUCDgWtitplyU7V2w==","signatures":[{"sig":"MEQCIDAR8qhszbT/z6q6MRXUVCJpZgxhcNmKIPJdxJtUTmpoAiBhbs1tMPhnjbA6275Ov1ud9mYHc/wb4pb6MTzaC95DXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPBUHCRA9TVsSAnZWagAAPTcP/3yEWreakeDTf+lWHMFT\nuIRFPQNQLT0M3YljHZ6aGIhw6t5ToS/CiLZtTlDo0suwDKmrucydZPuGSxgV\n+Yafr+eiALbiu0tCgBQQ6YzE0i7R+sMocA/v2wquzV3UYIS5USHcUew1QDsE\nzKlmhTN1m0tY5nM5Yfz4lGHS4wVHlN+YYZ4VUWXlvjbJxa7domuhgzbxrnFX\no9W2OmN6gLaWSTRzJV38e743U6qOFuMy40eZ9UPDhvaiTEhNkwPimqyXVdFy\n/BklsjmMSeSN0y8HnjwDVod+Ph9m72iQ1uxys/nUeBoHm3ID9xm35CnFFqWe\nasELh2TCjFxobAWlkmyYFponqaR+qoawftFovMj2Nbrhc5ZeK9zQH6ve9snu\nR45HYMMbjmCnPIYVkYJF4JZdNUBu/c6oCzq5p3cEEgFlyhbMtfwfbSGwW/3X\nmH1Y1NtoYQwOfoEVuNLg1K8JgcshBo/6N03hIjR96abNYOZfJOAgp2hmX0X6\nhZYjpqpDy//PFpJJzQ90yGdBYtewJfo01dmWN+D856GgNrAgXxjjmpYt7X73\nrwM2cCPIu7wNkBkBJp2TRk71uNs5wHRu6lTMB5p29ePXwGFjBB8QNbMtVvjH\nSbMhe36kuhfanpxsFjED//6K7BwF1mp5R8RcN29CJ4UvH/4WnZSXbzLNBdcR\ncc3/\r\n=weyo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818175055_1597773063258_0.5942283210502481","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818193149":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818193149","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818193149","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"147fd30e42dad11f2eb70c8992e00456e84a7c76","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818193149.tgz","fileCount":4,"integrity":"sha512-vO0WALaircys0bKGKdyDm/IIsMlntkkuPYtO9TqF9T5lHwiDtPJDkrFVyjU1R0V2JbZEzNXB6ju4XrDTjn2Tbw==","signatures":[{"sig":"MEYCIQDo4G+CRqaddO1gu3tMqKj9JC1RoQUbkVYSVRIX7LK8DAIhAIQwW/M8W1w8tF37lueT0GphP790GFwwgtmfDX9aYu+e","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPCyuCRA9TVsSAnZWagAArBQP/361mVZMy/b6OiW7s1DX\n95KAabdhaJg8W1XCQu1Qw+ZBChEzlxE1+vD6TxJM9+ugnM70oKT2aapfoMHL\n5D7YHSTbl4cO41hoMWCF6/mZGxhn3ynjFcYLPMjRFqutNtEIgnGmk9ooOlYX\nbV1QHFrBKdokOeu4DH+6HxLSKmSuA7DYKEMlufa3OQFNUkTuHGEFxkvzfPDy\nKngbEQOUzxU18JFp1/ZYMcmSNc+/UonibuR211BeNOmmVH5oOzmEIEarUruA\n8RDf7FNpOVCbS1FSrzlmmVyDssTicxSJgWfsCG6UuMqmCbPPRPji6x9PCYCw\nbqER9OBdbZF8y2Hcs8yHZ8HEdQ5TmM23Y8stiJN9CiQP7CBMZYT1J4XyHBAw\n85HQaz0WG6WxUJK2C5c1NBcRZC88qmPb7SCFjubcU7R91OAzJ8K7/dpeklKh\n80I6coWwOhWc/5ar/P8ZjkXrXFc3g4FFMiC7fGPkqTN3JJcfBhJHZEb/h8bk\nzXYD2GvERLxilNj03Zu7rfms6qVpRoshqYzLkk3CkKhMpli4XZvdhYGQUlol\nJ3SsfGFQNaXz1vf2ULzuWF/v/CmUF0zUkWbElpvDpV8fI2TmszpffeRi6apk\nMLTZ+6KaJqAx5FPnKYHPNWQvCDilyP1VpqGptzlAEhcTXeNVK5nymGS2IWX7\nStr7\r\n=hHAJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818193149_1597779118182_0.2535238794513994","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200818214737":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200818214737","_id":"@accordproject/ui-markdown-editor@0.94.1-20200818214737","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"62422b1681f6013e801232ace0cd3a3c0da44d59","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200818214737.tgz","fileCount":4,"integrity":"sha512-bNWlFwbjbnTl24yrfkPFqtDoYMWTrHQKt4VAExmjKfX4roF+Qpefw3dWR6F66U8YkG9mY0mObrUxZONqlaaGVQ==","signatures":[{"sig":"MEUCICQESMoLBaY+yupgfPNKYJVUVwfYGMlWmtC+pFmgpKIkAiEAs6V3C2oR5scjurVcOJubf5tl3xTPc2TjorSqFpCDxlw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPEyACRA9TVsSAnZWagAApu8P/RpjlevfXtvL6pLa9Rqj\nTcMwVm4rgPxdYDOpWdftSMjIGRY102ppy/+grtaCsQNNm9xWYBkUi8D90vSs\nMUc+pM6cUhSt92Mv2FvHIDCOy0ZeK7QvMIuNafHu8yzvsCpWDWDVtByGsAS+\nOVyF6/DHIFl40K1GeUA9INOysHL6ysaq2+Js64Uz93r2xLgJeyF7v/ixG0uO\nAr+pZkUNa4eq1crre0nHDNzCxoFE7SphxGrR6dWWXXXyLh8UDNEMj1QSZSIw\nC73N5mXh5juBTAHv/WJJRJcP1UrnRT0CaKdlcGo8aM/9wm1viiV9GJLzbAoQ\n0qS3iuVJwhqpn5gkigWC9PpYcBH8tbwx6qv91AvZY7FtQkJOR3G8xb9AgHP3\n9o7D5x+Zkkqc2nvIO5/2lF+m/r0180/b/jXXpZVJvqpnxCiThp0F/jdNY28P\niZaCdWBaSwiIxhO/L81kt6Zf2CMTEDSIcQTicpaGfvpZ6Wye2pQjFWZV61GT\nuzKZIT5x4NM/7vYibiAgcNTFIEw0xjKx1iBdJKOb0Cir9X5aBRZ3AXqlWuXL\ntaUEQqkKWMwLPP/YJoyfQANDYEoeaqUZEOMzpgSC305btKxspw0L+95Kliml\nXficLUWpbgLYpn20HHAFj/lc05UwhHYn+LsO7W9hCucHrABhPyOfURZRSa8S\nNsAw\r\n=Z/X7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200818214737_1597787263782_0.4472621205151486","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200819062221":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200819062221","_id":"@accordproject/ui-markdown-editor@0.94.1-20200819062221","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"f126042bf3a23f9b3d7096eee0aae3e1bec6221b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200819062221.tgz","fileCount":4,"integrity":"sha512-e5m1MfLAKHS7YYoDCBfRztrtnVeRy8nIyT4nIMDZhGZnfuIP2lPk0mmmQhW6ilvNUh6+T1tc2g/+Wy7yCEjsgw==","signatures":[{"sig":"MEUCIQDYMVAIMNHNCw76IeW5czQWaCa371FD+ZGco7QlFfWEZwIgDCamSp8j615xK+H1ykAuOjaDCeCXEAcvoPJYYgyqLjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPMUkCRA9TVsSAnZWagAASt4QAJTobdht+Ird3ZVVZiz2\nEpLK/9xXoiXQ3muIlqopEdTT3Sv1w/Q90g4+bnJMMmO9tS85ZScLTenbqH9G\n+Dm2AZa/h4taDJGOoYodm6SbBLuh9KK33y7HRZtFAEbhowYrqMfewvjd+oBI\n8CWmw3Bamdc8R/8PUt9SfabLCRhRZ8eR5zvAfipSl4dRfq3uXI9ULWPsDvQM\n+9X1mTO+1LG1xxYKoH0YUcbFfqyHvINdWoyIzvx/078Pc4TONEX6F6WQITjO\nYeWTLa9Nu3upNY3BuKBGoKrJ2rWHKXri6Cp36HzaqfMi3sNhfB7oBxa+Ngtd\nFBH4vi3Yxf049Qr6wZoRTTz3RQrHI31wm60JAmf9y0/xaccJSYBhaiQvd9yt\nEemMozyNYL9SYMWPFlJkU6cow9ANin0241tPBUt5OVUVlKBt44CqtKZYywlk\naugiFLrPfCPXQK1on7Cn2gwoTWP67RiF/cGSxwtI8WI3RpgfYkfsclNitgdj\njYiDKxaq8zjeheFF7P2LhMEYo1PUOzDKLYLaFUaxvL1UxWMoKzVb6IcctCz4\nZ3r8mRL1sgLrHOsaERx1iTwlM6NanilAuZL0p0Rk7jk4Fa1wGtF1VkLRWZ32\n/TKXM0Waa3jBBKYp44+W0rC6RF15c1mp1o7JcQHt4dsdAOUMhwMaxReI45Fq\nzqN6\r\n=Lb5v\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200819062221_1597818147544_0.00015370615460641446","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200819062935":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200819062935","_id":"@accordproject/ui-markdown-editor@0.94.1-20200819062935","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7393cbc5dda5bf79fd6ff08736d6ddf0a3fc9b85","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200819062935.tgz","fileCount":4,"integrity":"sha512-8+J3zHnI4/pEGlgWPixLD8SyeL74n8Alam0xznev5kpGb693+sEboIsw5cxbIKNzbJRogS1pGYL7Vg2kuUpP4w==","signatures":[{"sig":"MEUCIAM4/9Zj/Dq3MK6x/9i+FjkFAPMG9CpOr+p0JrfmFaf4AiEA77SYjXomzn/lWC1Czb8o90KRwZCInmTLEBLiF4Jxj90=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPMbXCRA9TVsSAnZWagAAqQwQAIJSp2/mXgbjJm5Gbgbu\noCFDYQQrL8RrIsw31L8Oa5JqlUOvbwHCRyueNa6lQVatOGxyult6Pc/UVc2M\nGDdvOJhRcDHr8VQddfVQN2vRccGjTsN8nxS0jMWC84AFEuzqLqSxWesGSoMb\nBYmckkH4SXLnXMverCJCMVVkbipvo16aPP/VUHwlkkyK+cUHjHsK+VL9ANwe\n6eZoKr5o88Lyn0GGiPIkf2gV8tDS6KGz/muWvK1xYob6ocHdhZsFCmpzHGVX\nPSLGoJJMplUpjUOkWQBLaOK59yrOhuV+/ounv5TZ/7+fAu3H5W+iRD4qa21Q\nHOlG+cWdUJQFLqWYs0iUm2THVPaS7nWasOiOSqjDxDdjov4kOUHDkTWAyELe\nkFCa64rDgXfs6dWElS2pwc99PFDInX4KPBREYr9duiG0c+lhtIywqhfBLNRX\nkhtUScVXtqNJL5ADWUfTklXK+PH5wJjDyHCQYvRFOVTSsJYFY0eyPzp407fX\nnh6jvABfMVV7U5n2xc4l7ch33Ct+NDb3oDvBeknceaKvoDpwgjcRaI25IkVe\nIhnb2Ur6iNu0dHTFtY0Xrna6UBHxGtpsmiXsqRK5nJHp5rLDZbQoQ/JAdG/u\nf5tI7MstAzwUgm+k1iUmuX2C51QkIUjm0YjvxcZz7+igqJ2BTig/nwqWMTZh\nTfub\r\n=R0GT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200819062935_1597818583392_0.5241664116674922","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200819063123":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200819063123","_id":"@accordproject/ui-markdown-editor@0.94.1-20200819063123","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"39d8ddb4a1c527f07c0da04d80e558e4efffe570","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200819063123.tgz","fileCount":4,"integrity":"sha512-p04bJltk3rzCC1VkXiTOgZvb2/vyfnThBhnuEMF8ow0kDylTGbQpqNCllqaLknqIqyrR5ZIfvmkqHxocSlMykw==","signatures":[{"sig":"MEQCIEafN53f1DhwwpIHtpcGPWHHKJav7kR2Bm0R5R36PdikAiBsr8/MsmfDjG5I0LI/6CtG2YGbAaHQxerFAQxV8yMHGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPMdECRA9TVsSAnZWagAA3/0P/1kXhTG4bFAaiNxPdx71\n6FdGn7ngTNLVHOeRgURPyglDJ/SaIxLyd64r3iSlm+tSHefbv0gY4qstU5io\nBJsMMMuUtbwGJrFOImEh1SmYqUoVgb93YSJGlskSWwWFnQks4HE+MHAln8KX\nr7pL2zTtoHeFMJi0zZB48JG2VpdNN+TSoYs3cYNWBkRoTt5EBp8rbc9e93qr\nyba4tATd/eSdd70JPooh/6ZM/FTXTe+InYUxLUuz/oNn6ofEfKla1R1pW7ZE\n0xdEV5njGDRuCjWazOiLdtoc5HE4SKDjYRUp9rm7PT+/imRUNWGGwO6NWR1j\nCKMLF8Wr9eRUIM7DOdPwx8a+6WqPxz/vXTVJa7fUZkm5n2UdjuILgKl8HeBz\nwwjzcLIOIAD1OjILVqxSKw4qrFI1i99mifipVzEkJfKu+GYhaJzA5683G3Hf\ndiZF3FBIVnYCOXspdE0kvUp3K259XmjK+OeXrv2HHtJUADRKlIc+yVo7xeuI\n9bDiJbFxv4yUC3QFtzLe7JC+AWfeThshivFa9+ZPs7l7U0Neg95/iG2ZL1T+\nZda0q3OoYl+eQ4QwvsFUbuumNPdvNkSlG+jTVx4tzqY5FD+Ad/uz6wN96hik\ngkJWstDmDCYNFJds1Z2ZjUnPcBQTaTZpe2rpYDDxLR5Rh6sABbkyhasIsa++\nPFk3\r\n=O3Na\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200819063123_1597818691870_0.5058915103243677","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200819133336":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200819133336","_id":"@accordproject/ui-markdown-editor@0.94.1-20200819133336","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"fff2c7d2f6f3d0948594feb8955a7701eb5c82ae","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200819133336.tgz","fileCount":4,"integrity":"sha512-9n/l8NUif2qi0TaTrNuM1NQxxycSzne/wkH2Cl4AsAzcdbpL62VCAc8CkkG1aSEYOyUB3bgOBFTtJc/CC37m5A==","signatures":[{"sig":"MEQCIGvjoFrajQU2PmR49CLlSLa5GC1gx05LYGllTHWYXbq1AiBW9E2Jt5fREnUDUAHwVLhHHwlfpO2iWbU6M0PH/bHEDQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPSo6CRA9TVsSAnZWagAA828P/inZQscjbvBZ2dL7fsGB\ngusMNqTorZqMLFfUjQVuJ8l6n9WiWlXkhDeAXtIPyC5D0yw/RPgTg5JSidkV\nHf5qliLqJimWA5/DefJ/Q13orMvvgWS1JJth8QjpAMZxrqtj17twAjQMuEgq\n78fzXU66Nf2bEd5S1/o0cseBhrNZXxvJxwFWLp3BAu4bK8A5Z8Fbw0oOC+MC\nMpTOMZyn7w1ev2aet7R3N7axVupskUrUJJWAsFM5sbRtSugC93WfynYMJQfk\nolvUg8DEHVeQARYsGYNROF8pmURpBsnbL2+iWZIbvStMpbKjZgCtIt+jF6KX\nVMwhkwzblrSVkL+XliMR7WTTJxOm9i8ENc3OpUPKYjSdzHSJ3RJNEOTeHzEx\nppnDgkaudJohz0qTXk1Ca8NSdi/dkYxJ677fnoSNj8GcIQt53fAuzucX47X+\nQMzxsCfmXoTjul5p024e4DIwVirjBkfDWJNZatOnkACHqxC+zGvHthQ57U2x\nHzXr/sp4hXND0tKQF8TpPh00mvIOfbDq1LkXgxP/HK8T7PB5aP8tiH6UQ53d\n0BKfYxPzj3yGMwUihJ143zfBiHQYm/Q1ub7xmnSRknn/jq5eSeSqge9029Z4\nyUNcp5g6yDGuSmEbDuhItby9YGdGPsd9dFEigFUQM7L5uppZSo44IberRF3l\n53nj\r\n=R+qh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200819133336_1597844025951_0.9946005162016442","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200819141328":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200819141328","_id":"@accordproject/ui-markdown-editor@0.94.1-20200819141328","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"dcf67f21538a897b7e7276350a67c21cfb200251","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200819141328.tgz","fileCount":4,"integrity":"sha512-T4HEPlS3fMbTNjsIQXGm9MjjPAm1F+IUcrNBIms+M+OaYu7IuzHpW3I6w+cFCpBxu4eT5rEV8jUZ5sfchxn+6Q==","signatures":[{"sig":"MEUCIFJiwfsZLwn+U5Smv5i55P02DVRBj6SICEEpHJ6o8DYAAiEApX4qDTrkdXsiBcFOmSm+8nj3rV+mJSIsXW/7ZS/8OaA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPTOSCRA9TVsSAnZWagAAJMsP/jvwIy1FE56BjI25L0ka\nkMB5FNNVDIan+VLKaMMghS1AUsjyfLAaNnQFoSLHnv2ftLtgilnNm7vzjrnL\n0W1p7120p1swf/TzXp/t85W2f6lNeFhzaWPO/zcCTHDlDjvmtE8Mkn+krF8U\npABv9CJX7/E8Fn/9sSJ7U6NUlgeJ4TN/g4fhZSk+MNuNoZg1EGN4Tn/iqK4W\nYCmfXuG7KcZP01B5yWv4vWYKcj0y5heMcwMoHhdcIV/JvE2jHet7JrOzPrsx\nn3Twdun/kBrMcFyaQtCNRJ7EYBcyaFekK9b+QN1LHbsim1Ew0JrfYXI2HhlN\nlsloIMhd6nGUFY8WGDn6mtw3484/Y5AvFLhUk3uED3JP7WZ/hjwDucrdPEMu\nR0E0/u8lw6q8W5u2PS8vkXybgJtrKDHf+gUaUypjkaHQdU4SI82P4DeFiV8p\nETFT7cm1kTCQtrB9d9CRcXexzg5Zs/npBZluwDm6PrjimS89GSyxwR2guP8k\neigMZEzrUfFjPg2H7v4+q4lA+RR7nV994hdjQ9J1oaxV8KGB/P6I5IABvpND\nmTF6/dkdgRphkNokR2yIx+72t0UwcIeh+IPkb3jlXstWwKdcft6I3SbQ9k2I\nt/YfTKnNhjrzxHesWI5h9VaISHt1/wFr980yPzEkpD2lU+njZ16fbpnJZUFO\n3n/T\r\n=LJbv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200819141328_1597846417595_0.17825487712313537","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820135326":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820135326","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820135326","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"297d7111d4a3ca8e899ecddc5eb3eac22c246a6b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820135326.tgz","fileCount":4,"integrity":"sha512-H5eVwQDfY3ssxjCQdMtn1MKfJSXhLhkjU1QBeybctb/LltDlRTdsvTs0wxKGjpeUMq/pm6OVdDenHOMt1AX0zg==","signatures":[{"sig":"MEUCIBqA28fFCrTfB2UwNlsbKYBjyjMjFnBENEl5Ts+V4fzcAiEAgrTUz58xNHFoQyI8xWGDNDIxn/R+wWnERdl/jMSVnYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPoBhCRA9TVsSAnZWagAAh2gP/RYl5gmfxtc95y97lMkY\nrrgVLFNERLKupHF1O56i1N0hyKljpsiAlNOifWgrDDLeWW6f2zqY/ktnJjXv\nxZF7hLnm48ByPUBI5rVA63LSBFL2TtwPkggQN2zdSOoE7MyGtxNB1uCp2S3E\nAy9Cge0GcjuXukAuIEBsDJk+sXG2LU51nRmPUrXGOY9MSuyNmGg8olTu8pTx\n4FkVKsYiNtBHjzqMZdIKukCk6fQ6kifhaAZCwcJOPeA00uXbJfP+uVs35Gex\nynp0d4MpZYHTavzqOCxEBm2hclrDqePJ33DUEp+PckOPjuebbedgY959MVQJ\n6lk62D6xU1Bmp1U4aUmazQu7iikni10eE6zTCgSFLP/hXM6VHCVEbkI84Zy/\nx+pCz9bkv93EIas7BG+lZAUzvWoxN3Ur0hp7c77cRhyocVJPg3UQl2NdQVJ0\nJ9EgH2W+iwl23ka99d13wD4MVtJh9E7Xe4D492ujfd/yTT5rj5x69k9XsPJC\nVAGlknafI20ay0AoNRKoBUr4so5PRJNRyizs/LV2agzuCo2foX34md/NRRF4\nHUFDgZonf9/RHO1upOYhxe1yin9pM1kz+V5eWTh7W8Pb4bRl0K/U6UEL+Can\nyBU+JyVpcRLE0nq25dgO6WPpzdbsROa2YZzBm7WDB/CIFEgbKerDMU/pWwAk\nF7LJ\r\n=Dsfj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820135326_1597931617173_0.3695525037684029","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820145026":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820145026","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820145026","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"256aaaaecb6a5246336786c1acd2b5eb8541a523","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820145026.tgz","fileCount":4,"integrity":"sha512-8CQ71ij+euC1E5zthePcYvnR/8rLqPaMzJ733bYwtLSh1Nbsu2OAbkoM3KolLbuu2A/mlZZxQkD+XS30jdXcrg==","signatures":[{"sig":"MEUCIEnhKfMTR8oZwRLEeKeCGeHjhUl11QnVNkVRrXQYlP2zAiEAw2LEMW+6Ow5m3aA4xPEhJkeQ0LbCeSiL5Rq0ehcuPK0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPo28CRA9TVsSAnZWagAAcCgP/j5Wgbh4CtHVvsN/hjtj\nLAlFgU5rwms1Gw1K/+41GiNS1gmLsjOMRypKtBKFOUkuPxI4nBSphb+MYGAG\nuM77SuI1QdHauVPNQvlTyr5XX6yGQJXoXQ8VBeNjprbruY2ivDGLgJso2BqW\nylrLwMWv0rPzXdUoENl/CwIiLhzSuaRXynk4Hq1i9aZ4VSirEwqaTXN9ABbU\nGXO3rd3MNf3ED5aEoqSeew2EtRLfc24BfF/+y6vOH3eEID2P4JvMG4EWFCT2\nE7/Fsr/CxH5y0MP3tFYNxyvjhSPmVmS4u03fKSsdWGDhh4DeWG2eFfkuiDpI\ntLpT8Q1h5WWfzNEJajq0CI7AulcfCGYwvoTL9hNujlPWltyuRXPYsXAHjX4h\nXU3dHfPATqalpuRoocFF7qUve4fJ7TKhx63xvb+7c9XCDjXH2f9bAcU/wUrA\n+VrOm5pCFUPuJOpziM+1TTZ1ejVzTDuh3Ad6i/jypoN0b7ftuQGs2Tp692bR\nz7JUJ3lFd25dUSBf7GlSY1EugRkRaUguh2XhcvcgcNKrkVGl4NL+uWjU/An3\nj11WSsMZIKd+a3s2v8FFuwpuSmpZ0rcwZTuSx9ktP4bVV59o3nOvUyd1BTce\nYkL2xGJanhb6oFRh8DwxvosKvPOb6EX4LU7CpqqQl+ToLGzhUlnUTuoxfpvr\nOOSa\r\n=ycZW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820145026_1597935035993_0.7311143333032641","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820152135":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820152135","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820152135","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"71a42fc39ea9f942d35f5d3131b98a9bb196f165","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820152135.tgz","fileCount":4,"integrity":"sha512-LCWZl3XmkwdTXFBfSVDwfKOGzqjWMY6IC//6ZY58e8sgbI/oyg7Ze1S7Ae/c9qw7ctpNez4TzYbfSVycKEqIOQ==","signatures":[{"sig":"MEUCIQCnUgsmKqlgelpfIpA01i42e8DnKm/ZqIHA+YO4C1VWygIgEjYTWnUZ9mkFcoIp/u006llCek3rpC6LYEAhHVZHbFQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPpUGCRA9TVsSAnZWagAA+IIP/AkKYRy/QXg295HszSXb\nY/v2DinuI5wN4N0ffHb+5hYrWyu8VXFofPW/hqYEl+jeEMV24A9KqCHmBPF7\ncebEh+bBEZAgselsJC8r48wJbMXMM7xUCUxPmipiR0VJK6AQzwbzdY5foNlN\n09bfgFpFBUu4AWwFfCRGKs104TjA9CdfP5NB/O+pBlGA7rLFT/U9UsuxHohm\nj48jEshICQ98IRxgEbH9xGi5PE/IGSWFs5Kw1gf0op/bLG3RHO5zT7T2J2bv\npzwNqKZZvQ22j3XIv6bIQ7JCLWRVgG8RjMe6l5nkpmo5H02DKRlTg2WGqmey\ntjL0BV/tCuDlstd3JH7BMY3vb0rB2wWQkXBGoBlXHBFNx2iNwmVt0lQ2CW5i\nnuz8RdLe0l+jxtbnxxv/PUsm2zQy1QPiRrWgMB6CtydUeLSa/uvmImiird10\ncL5BqJdB2tcHgWqBI/KVFi0vhtZn9RqrKKVGte1Td4/9vd2m7h2xUAHPsQC7\nmq2iYlyAHb0PfXmLD76LbUd2DAp1MWAQTk+q0H4t9VBhXgO9JZAcoED6tu5G\nOkuv2A6fOXR/l30AmBCGsBwCEM5wMbPX4Ufza+jxaWJffp0jk5A0kZTjezDz\nsLmEkBLrKXrSSS2NNfwdo6nof/zzR5t+6zVuLwihjemzwwwZ7GCldX9nt7G1\nGLF/\r\n=u7US\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820152135_1597936901791_0.6570676470038481","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820154734":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820154734","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820154734","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7d91cdf0d22acc95bf0f8c281e782a9677bb035c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820154734.tgz","fileCount":4,"integrity":"sha512-ZQLTm91ld06Z3yRz1QRbf0LPN9os22aMwx7xp+esWNYiH9TWzhGm8QzyBpeDEWHzVmUWDPm59ChrA8nw8KwWnQ==","signatures":[{"sig":"MEYCIQCd3BWiFVNlCbOj94qxzauL3Liwf/D6eEPvyMSKjR77oQIhAML6e9Z20UaKslc0Mg1OsZiZecP5+SYTy5VRcbMm88SR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPpsdCRA9TVsSAnZWagAA2K8P+wWxQ2m/uxrsLHksGQc2\nhLFpCKLOK4sqXx7/R2/wTBlvmKf+WHWg7EtYkfGEl7nEzkzRRJYP0jJT9xkG\niquood3Cw+LCFH4rDHbP/hkLrmfLQN9PpZO+b7WVKByXaQuiIRlB0dE22wxU\ngZyEB/XtQOLdhLfGYvcjOJOIYaeUuvfS+SYQOxqlAVgdsTD/TdwL2YgpWHzQ\n+BcplThf/T7SHkXMbr7lIBAiMmNMDvtgYaU+JfN3SvWW+IkMaZzyidXgfprO\nlMmoSW2CIG2blQXI6M+14+okGQ2hoFGev/cCa/sWrx14LFkIfRVHLYXCKqiR\nYtq2z8VYW5Ktr/Zn1F+LRMHjAEU+sqL4QABh+p63GHCufU0fRGhN86n15J0M\nyo4pPgPBHVp6rZ9UVoAeQiWxtfeKL6rZ7VHcq2jen/Ih2i5bTAk+7mVAX54m\nGFKH36MlvYY+8EgDnIYRDM/kfCCY8da2cLwa6NIlwlcNKiEca3Wp4Ty7wU1J\nJG2EYc/Acke/D5TELLONZZOAt2mFf+NU5qKo6o4ajoylP4SjrsIloLeicZv4\nMqJ8vvzx11XrGrpnIi4htsRvX9i53QJdYltevh03F13N4VB5aa7b45Ut1boc\nhlbLPdFZWc6DdfKR9aHPcfvrDE11RJLGOagYswYnuVFNc0MwpeldxvN6AzYN\niuzM\r\n=YXAD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.4","@accordproject/markdown-slate":"^0.12.4","@accordproject/markdown-cicero":"^0.12.4"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820154734_1597938460966_0.4724635399801993","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820162239":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820162239","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820162239","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"dcaad37c78dd133e2e9ebb3a5be78e56b3d0e258","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820162239.tgz","fileCount":4,"integrity":"sha512-u650AFrRa28kM0ijdQ7TqDMTBS948jwag/Owpw68x7ymGlyvUQN1FXxfF3O/HZfg085MreXQUC4TB6TxdbC32g==","signatures":[{"sig":"MEUCIQCWIADsTL34m/jnmovL6p5yqkThE2NpZ1rjlox5j3MO0AIgO/6txOLmA0akeI1aI/MWe6aMLNLYbjJuoZkDHtmhzgc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPqNVCRA9TVsSAnZWagAA9dQP/RxS42VLgzcpBS+Qd9rG\nl0jBCDQLOa1KG8ntpP8lxgP5jX5tN5DoKPcCGZfBaQXOXIalPiupWVanqVC9\nioK0t11XN7lto+3P1rjhhb5HHykBlsuR0c27ZxEIBNDD2rjO84//Nemxj6EK\nPjpl+h+LXUZNVZEioBQgSMaOQNGgK0Y1a1oNm9ho+5YabFcyAy7IY7ieejsQ\nEOZFQG6MowVqQtvnM6u8F/DTolWObJ7lZVGG4ZU7V+ju33nawQbA0DUqOh5r\nDP3/b1vPhZLHa4hWg8qw7Hlw4YXbUNekaFqh/MhslvW0bypFnrCJyYUufngT\nhWRqVr+t3F3zZmk3J1WL3+dilFObxGD1lnx7WDWQ9HL3B6ZTlnvEjrVWqSuF\nDov7rGGnQ424wsiDF3tR+mnjI4awXtnqn4M0zkwtVogElGgC3IEtNEbtlOli\nUi2xTvbUWZxk3fXXP2UpdDUDIzE/6ohZ/NdNrD4Nf1pIYgBEa0ofbHSiIsy3\nk6F9u3ddABe4rYkCZ30AbXdfCHy79BH6ti38mo9fLe6HUda/6JbA1CtI1ZjK\nZPM7Qd0hsmupP2yEfSnVPpH1Mk7y5vd2Q/3TqIT+ApQTVete9+6XTxMWqrYr\nZbgGKxIZgsDCoiEASjZ2h5rsxQthWMf7Pt8r209nIR6YzFxjp+xZl0EM4RTO\nuo6i\r\n=/Pbn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820162239_1597940565235_0.09449850293325168","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.94.1-20200820173104":{"name":"@accordproject/ui-markdown-editor","version":"0.94.1-20200820173104","_id":"@accordproject/ui-markdown-editor@0.94.1-20200820173104","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"f6193197ffbaed4178cb6aa8d79a6f2225547e87","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.94.1-20200820173104.tgz","fileCount":4,"integrity":"sha512-nyE1KWdVeulleU2tj0tnn1Cubz/62eD3ty6mfYtPi7jza+L+J/T/o8WQK1DrvLUOR2kJyfVy5OaWQYXzK5fbdA==","signatures":[{"sig":"MEUCIGak1sfTpVFoM0NIAs+llLafam3mfegHWVzZXeLuSFiZAiEApoP9GoX0xQ3NJtLzNjFj9QUG6H81MqGVBU/NzvVLLCQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPrNfCRA9TVsSAnZWagAALkwP/jr2mwNcDiuB2P7691NE\ncFU/srTgSluM6IYeJf0JrDnQjSfp4mJbfGdn/ocOIjegjLaOYTzeEBUGNlkK\neBQF+G/5I9HnS4eeHW7kY7jQutur7eUkHwNKH7kYOUIWHf9Mv85nBk0MzRH0\nVYeqG1PiFi0yWGF0gfY9byxHtzTB5roXg6N2xI+hwhVeXupevbbZpqwywDAm\nF6PE4U0Jtrl63EkEn5PGsMJjhct/hkKcl8LayY2CGOKm1yZE/2FXxZORsihE\nsHAfI5lts8NYcn5OtPq9D/UqincN3iz5bioIMpbxQ3irnYoNmiw4VQPm7T48\nJgz00PBTrt0pzKf4teeDDEkA6sQK6LDIcs3BMFSYRjPwwW610Wkn8jfTwLGZ\nuAIT51bv8+v+N0pbaNhkzmZ7Lv/4d4KMcustQG4q4ACB/ydQLI0KTI4OgzoU\nQhgYD+xQd4mqyD45cXqhiuf43EapZnuVUqFs233uYWD2aPW2YHVbLTs+FVLB\nKwc8sMEOqYwRVVSmm80CeJwRG/l+YK2epS2zvNkBfKCfgyaE+40ds9J1K8Bd\nRQld4eyzqq0+vKVlaUEET6d9IPc0uKP4zi4hnjoA3g73HDg6Dpt5CkZW1vXw\nxCzsHcbquo0tJdXqO+idbBfLANkeMRYWp2IyU1ldVty7RS+35bIs3+Z/AOy2\nmMcI\r\n=+fWw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.94.1-20200820173104_1597944670578_0.15679665427985245","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.0":{"name":"@accordproject/ui-markdown-editor","version":"0.95.0","_id":"@accordproject/ui-markdown-editor@0.95.0","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"9fb4846dc64e3c218dba8129f3028a67b126aeab","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.0.tgz","fileCount":4,"integrity":"sha512-X8GGB9G+pS7y3VPDkDExTy4a8LGUwYJ/JhzaUTbRDPPFt+pDKCv8Tywb4K5i8vFZKa3O3OkrlV605dWAdNlK9w==","signatures":[{"sig":"MEUCIQD4BICftRqw2xBTqU/z0O8UlQc8Egbm6xXm+lEpsX+OXwIgR+MhUBgYy2H0EPcILSB2E3z0k5Xotk7zuZ4OWXTCiyQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPrcsCRA9TVsSAnZWagAAdIgP/3xIVy7btEjadLs9RJLN\nou71OWbGhyfL79Hkb9UHKV8MBFfkt/z5h8Fkv4JCC62JWvLaVz/nWWGrdvzQ\nF6wCQuobh4sNaCvQhQlRTeWngaXO6JPwGP+ZdX+FqXsDkDTYymhDm0DRvZ4d\ndNz7zSyANfr8iW0VmtvRB/iXOtm6RD5huzIktqD1jtdpXRn+YXkkJGHis4Tx\nJ1wPOeO7IrEFxKuhdG47Wu4TAMhohiI3izydHkx+aG9ZShcKrLlKq/70jJtE\nQk1ZxVjIhrLe3X8eT1pgT4HyqPoET3ytVcWn2p34QRudq3JNQ6xhXtNfOUvF\nD6ccR95T3xnMNAMA66H2SD1QMVLO7He2tFSKW5b/+LdN61KyyGzJKuv6ChEL\nXN3wb8rzVzOzCqF36e2bvGfDibcVXorkXuZPvHQKgsWMjdw57KbZAZx87Jfm\nvDYHIu2sxaXQPD38kfE8U9jo25AeqZ/c9R5CeCLCf04jETHyxZXIb7jrMC5O\nKGBFOmGcbYDd/3ZAMrJGiWxk2QNtHjv2snfdczyfFgsmfOnlekvo5Vv+WJWd\ny2W3vhu92bMvLQDH0l5sijk+wWXQiOFR88zF3fMwPdwT8xPeMFJqMlL4G1W/\n2gac5dZPsUB9siYGdKlOqkF1+mKZmlyyskJg31ULp5wwHeggxJSNdZrqwqDt\nj4T2\r\n=MWBy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.0_1597945643980_0.19402378891991878","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200820175320":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200820175320","_id":"@accordproject/ui-markdown-editor@0.95.1-20200820175320","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6640cee1a257b879ef68c25ba83145e67e0e8c9c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200820175320.tgz","fileCount":4,"integrity":"sha512-CXm6XfEmpzNW+JG3nYoPXkoAj9DjLoEwmlU0E7S1nLd6280EC5VU3Q6nwPO/0cMtJlycFIcuAnm11QSRAtO+MQ==","signatures":[{"sig":"MEQCID3kNO2sgpwvRzQXcMfQG/qn9rAaL8lRti+56X+SnQLmAiBrEz3T6a9CS9vqxDu3DV+N9H3G/me1iLGANJMLGsT5Kw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPriXCRA9TVsSAnZWagAAbvUP+wUubo2VFRQq2ZQbGK5K\nd7daXvhZF8Kq5qkM9zwJa5BCNbFCPF8Ybth3k10Bx9dXR+hoppmBd2D4AVTT\nIxFp6J7QeG9sRuIjd9A8FlNog7e3CEzmHvpJg8DHvJ/MV1F6wHD0jxwC2sxU\nPgyvp0QGCCzdmbJ8NHnHHtizOwsKVGIAtIowK/8UK2R0JaykvzCwDtMjwt6h\ny+Dt9+CGiKVilTWeqaYQhZ6lH+t2GD9y1SoFneqa6m0VeeQFEpdq+7R/BclP\na02vCGBuRaNjFQf1oGQz/0VYD7cOT9LjHbvpL2jjYkXPIuzuyZsJ4Yvc+ntS\nkUDV/OlnPD1Xaa1bwT21rHlald7Tmp/e+FdQsJeP9hZWPEiPpKzadHuUyWrs\n8VK9bxj6fDxhpNHBzMGOg7maXeNn7boR5v9ZorolsnZmjZ6yb22C7Tutj3De\neUYPR6E9GwPod7GabPW3hVDnoLYy9HfUhtcANuJiBLKFcFJB7osVmxZTGgNG\n34cxqEq+rjRelDWdYXirQIK3WpWa46UOku9nhnGUUrFNEIFY3ZK9q3rgLE0x\niPLEUokmw5Y3dI35/BFuAPKH6UL3ZFbCpEb5PHKKwbEGfBSo4JX0DqqTj7VF\nuFAdUuS9nP4q4YPRmg0CuKcfCHl9egOeQIteq6yV6BB8dzUV2EOs1jp9sCp2\n8KwD\r\n=fqkQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200820175320_1597946006924_0.6681519703604892","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826155937":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826155937","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826155937","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"36f9ec46c7c2225699e57a3b2130282b7c338fcf","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826155937.tgz","fileCount":4,"integrity":"sha512-pEwNMFgNixeFtcPvhhtqmZQaKWuwAphq3xwBvUbMfl0coKekYypAA7rKJQsj2Dki0hBs0+AIxoYAJKFCqeqw8w==","signatures":[{"sig":"MEYCIQDhMnWzjvIFIJBQ2GK4PCXsdbU3PK4bag2ZsQiXDSPsXwIhALJGtkhDAhZNTVTAUV64KvbYmEISU6lq53sUy6E8c4tf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRobyCRA9TVsSAnZWagAAAUcP/1qdVVFwweLluaHnaMmu\nKyT4doHfShx+zO67pbnoypsw/wTr2TeObZnamQdTuR65G+6GqWbNImXs3CSY\nTseflD6Cok9nRblgI/vpZE0jI1HbnxZla4zZMb5B3BO9oOvj1VKPxY+YyjO3\n2vVXxOEPpqUfFZXB7A6lYmU4mtvZl3amBDN4uGf1cibPsWNsi5Gpg5VDs7xq\nyU2A3HZ4hrPuFWhqeDMslziHxIa6gIyz6t5BftKOx+E5FIvctwDWBfqvebMK\nn1c2nnPtinsbN2VGxQOssppEYomIBelEEK5cEiKaPMF3s/uY0rlva8ZkfyHO\nWW8kKbgqhl/mibDsuOxKn7v4BCvltiaNEsAGdv1avfT8sGKoXqHUhKawlNKJ\nwMmTVlE63FfRAsf0O7SJVl017U/yeOYEYvlZSneAI7MCjkqc9TVtS7Fpz8K5\ndOWvOeKybmpG1xfwyAF90n5AYBUKnNQ8U9Luz6FT3WfI1aFbJm5RkPjX5S2G\n4AC2HxARIujtnI8II2YYgHYRJ2Q/yaf00QDF8L71Nfi6X9nfQIR9Kg3F+SXf\nxSBCznsln8NT+bWi8al5n3joXNNajfqNkSmUx1/vkh/QWzSWMd3ExX1n748j\nrzgRu56lx4uYubAdx3Bk3VHKInM4aw8PxE/NqGCuCN+4U7m+O3ysfTnH5SoQ\n8i+n\r\n=PVcv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826155937_1598457585553_0.9975595554103682","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826183520":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826183520","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826183520","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"c4ac0e6b028539a5f8c4631c94915773ec87f2cf","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826183520.tgz","fileCount":4,"integrity":"sha512-56/zg4Bn+B8MgUypXQnfY8R7biYKvAyQL34lyrrLGQEu7i+hT4kwJQn1ze7Eo/4Ni9I2CYcJcbPQZWf8VutOVg==","signatures":[{"sig":"MEQCIF1sU+9kVolW8uO1Bgactym6FAx6kEbCFnAiNfGl6f9LAiBF8qT63nl2sRSwflZbNRfmLW1ZGcDmfBUeU2Gsg8bYKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRqtwCRA9TVsSAnZWagAAAnkQAJch0iA6Jhm13l59gYZr\nRE/FyBLzfwiASyNdnt4xCGt4qa0TZrAPw8S+1xFISZt0YNEPKLLcs8tHnbig\nn9fBF3GPLfPxb3fzJvjE3oNm50NEdx1OUg9Zcp06l3xINUs6Z2+g8PFXoD1A\nd14BfJ0go6poYk9tntW+z6dRRAhP6SGJlIA8dZ1QAGUMyXIQgPoT3Oi7d1XH\nSVEPu4vLGZ9Fi0WhO+I3BOxNIy/OodTUS+BE91fnimna4YnynyEUNo4WOEi9\nl64CcVw+GbFfoCsmA2rT+wVcp9asVL72L8w6d6z9PlcbX55Yx3lo+3JX4W1l\nZ+KQ6tsvm0/rdyH8NkBxmnCuP0CglhG+pm9AliOgCEb+nhmem2hBkHhK99FA\nkNYUeHC7OFAR8FCPsmwMgGP0TSRcyL0CY4PPAR0z7FBtnbO/5NyowaLaq5F/\neqIJ/iWnmrxavJoP07jZMsXVcdRolLdRtiDpuGeilnxMLPNyAnoEk84yoxKd\nfcAovjt9hK2pJ79xBz5KzBPTHZez5R9+xgWs6ChZe2hd+vRRjS22xmIr5BBF\n0zC/PXGAAPb2ruXRyC+QB2Nn9LOrRZvHUhe8U81vx55mKwH6AYCIBKqMFjSg\nsr7o55YZ+tyhhts91x5YQC8btBOrBN/qn/E5OJPh81hKXIYXmwysdqgRnQjl\n67z5\r\n=Ky6T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826183520_1598466928302_0.33543131822361527","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826184129":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826184129","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826184129","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"a886a291303688b049d464b722e515f1ffe44c0b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826184129.tgz","fileCount":4,"integrity":"sha512-SYjYXww8JLdHxqDn1JNRjQCmeDTmuG/NicCK+XoDOBDes0CgowBK4WD2WlsnnCLs8QWaNuiSGdGn6/QmDfpOkw==","signatures":[{"sig":"MEUCIGeD/8rNaQlPuo/9abMPWcT1nl09oLxQJqDezz97wEoqAiEAhBNqZ0YQqujHPtksM2fBCb74dF8r/0lgw6sGbUW2VBc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRqzgCRA9TVsSAnZWagAATSUP/26itf6h1Bz8wnFKU5hi\nCJ9evtfyy533lRALCQNs+Z9H4ZTjcRoFbJeyiwIuqZWQC67wJxX76r7JTby9\nNUdE4O28uWfB5H62yvpGMoc6cfaLYw8YxVNfqjiU49lGMC+dVeXGEJke781x\n784GFcSuXWPS50/Y+jqBxtBJm2hDKerYPSe9fpCqHXXvZTsZIzEgBdzkFC70\nZOH3q6D8utZeUxUdgS3Qh75oqMR95v14oj3GoBPwXPML746YWOC5mXDOl6sX\nnWFO4PUi0OMNCzpkE88WlYJDp4DFp15touHW5pSF5/5CNcyVIh+mf7mqR3jB\nClUYJQS399hCPWvG7eOVZfiI9IY/LhOgjlXE4dGBWkL6pR9voa0WYGJxoZ+c\nRGAAp64kDTMGz4m1t46LeTRC2b78/a+1u/Z5orLLgzDjBSjMsoki+JG+0Lkg\n6PHCp86MIOZEJMeP454HNOBmETMeKfGx4nljVKiW8SEhcCrxMoAOOSShESC8\n54DUxW4YNiMlgBeT3vMXbLrTTu+pS9DP0x2A9iGMmGNaomsOEx7fwzfgZP8F\nunUSjcpTQaFCHhAO7onj15CKoCjyNFHihoStoOK3LdZmubS2efJlcCy+nkBO\nzNsLq4gH5JR9GOA7HWsfTiwUbQaIvnDKCIX5dm/AQYMfUFcmaD1u+J4BJHJS\nrEQT\r\n=CVuY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826184129_1598467295553_0.9009822264947136","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826184225":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826184225","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826184225","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"cce1ac1a0237d3de98b4e8eec37656f9624e2162","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826184225.tgz","fileCount":4,"integrity":"sha512-d0myiyYSkQzoUl4VSU/iOG7Ig230IySYddZpQeq15eBsmAQbZ3VKKcKZk6VCK6p/zBiC6MY083eh6bQqjYf7yQ==","signatures":[{"sig":"MEUCIQDHBpRnFGILSjtB75ZSVhD+E+e/VDcAXRqOxknJ93ZYXAIgfUTreByHZJA9MXhjtCBG8R9dqhr+xuivv7x0AfjIjAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRq0YCRA9TVsSAnZWagAAa5YP/1ZAtEsx6zJ/mA2d1MfI\nkdd3jitK3D+IOphD/c0O/BqqSGVVtRtUSlWprtQmsoVM2vpYZRZ5UdrroODO\nPSpMFlcuBUT9ND/+ZnlpgxyLikdQd4sMUXQMnoUy4SlglnWBMmuDRYC2S31a\nkqkW8ObMvsApmnM56zmz2xc3a/tAP92tsDo9zkq0Kj1tvFYVbtsh9xAxE8hp\nlOKjaubZhMk4WsCKCo5ZsMbvIe/nSCaMFZJe95fjC+UDF8bEfj+q30QgvXhn\n7Hdyy1KOslvjHgUOp3ntNyLgQsdaeccC0gs2wWekmB4jSVQFZRVlVTIPv6ZF\nN8Vi9/x7sC0fsPmFlsFeHHdqXixGrSi5syAuzoBfdmTsz91+Mh+QWFapV9SM\nvxZ9FQWdNgoE/URKJ7cHlblPGZfSu89ftweRRU2+YsMqSEkZXt/djO14IPAr\nH5CDQR/iT5j1lOZDxIyCLauBM+6hYEFsa0igIyNb5mNRZ4BYxvSkw/UeysuR\ntFFlY/jSjKaVrbeNMSHpKKoxqpF5MSdAMHwhvMTEVPHnyPkSyHkM6mkonF23\nknhvSvzamQHIxTrR2/6TfYEBHn6g0NPQcnqtwgB5f/9a5+jb0lR7ZJgee8LE\noiBp8+6OWoGqJebwfIw/St8v8RgnQHY4y+dV4Sc9LTig1bH+kRhT6PNN6GRJ\nX01L\r\n=k6V/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826184225_1598467351900_0.20652666094651972","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826190702":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826190702","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826190702","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"257e2dc7fa2f95a5fcc5c7188617e0ccbc35ce05","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826190702.tgz","fileCount":4,"integrity":"sha512-DgA18aq7vzxPrlvxxU7FRqc93gH2h1iM2c8XAr5Fv5Ak5jnfVa23rGnF+ClOAX4UCdMwe99npuwf5uFfDifNyA==","signatures":[{"sig":"MEQCIFiWoeTV02aDWXntQJ9wrjSnVyggOXVYAlvJnweiTTe8AiB+JopPXg8xApGLeup2x8tbK+eI3H+ETRjFc/DdZdY7EA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRrLfCRA9TVsSAnZWagAAdFwQAKOMA2HG1RWkJHzu9v3c\nYdGp4HEtZtoHf9Zq3ZXk8bjKWVAcsXY5AbDu88Qgrz+ogQbY4xkDcIy/Qm1W\nG0E33IcsWyw5ZU0hU8gXInMNYEp5rLclZitdH9IZUrAPLZz8iZzC5Nq+T+iI\ndsib47ANbNYKcbOdz4JRwLOZnU8ralX76ErbOGjbVAQkW3/Si3J9lBNoWAR2\nOZNYsymhF59DY7NDPaSkDOu0LjtiFR8cryOukh83gNjf77vduG07uylsujhC\nTFnrHqwC3fb4C8OcL0fRNW1wwUa5IzPmKt0hKZJRaMpG78P6PCRIHG5Pd7sF\nJHX6y+ZxP8oRlogZQmhfB9VkYwAizJYBjBHG1GNlF7yvHUY9RNcKweeD5/JA\nwt3BmC1orzaBIIgUzVlmJcI5sFCvrswfOdEllBN2wS6yBQKhLM76qpfc2uGD\nV2Xn9N2+PNxFrIOc9mjZYwAN7S8MiKXNMVUSyBZBzhPSqpKDStjZAd6z3u8e\nw4LMtLDFYLVd4qW1lqNllqwEW8hKfipY/LCJ8uZFXMwp2ig82o333nJSKhCD\ngON298cLzp7zOT7A2B07IXChrdAyNteWeuv6CUkB/mRlhtCwFQDTlrs9kFGL\nKmpVoMSQG+lpnipYQdYasKXzEbcFBjLi2YTBeO5EqO9BP9BGKRRbX/+4hB8T\nXKgI\r\n=LnEP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826190702_1598468830501_0.3430702416826965","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826190803":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826190803","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826190803","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"ff0d2f8f64532e6ef69e79b3baa33443e03af61d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826190803.tgz","fileCount":4,"integrity":"sha512-0RNNtoZvFuU9oTT1/52VZ1CrOW/ei5Y+mzbPQYRukkJOacmV18wHQ29fRtztyIsvB9zfeJaTrd2OELo+y4+gwg==","signatures":[{"sig":"MEUCIQCjHLSt+lM0LFvuBpM5D2Od7c9fpueQF9t2syJB80PsnwIgL5VhvwJgsLbcLwpoEpDliQrgZY84hfsATWtPNfrNPHc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRrMbCRA9TVsSAnZWagAAN1AP/3Z/bhmwuU977igAdq5S\nxq1Z/L1cCERIkFotdZ1E+IWfrivkDf32am7WevaUQZ5WbJlkZJWEznSGOJFA\nSLiJqc0vvGkijL2CeiTI4+Rxz6nFTppF4IY1NKy4Fn3XyeO0f3A8/HzLG/61\nft+dxIrGLTNRZAK+hHoXyOUZhDLcXXVBOxpvhWWKdsJqZ9Jb9hB+1iWDCWSS\nqS019OygzeMdUx9C1u1d9ny1PtRi3ML1QqMjlKKUsjdZS+bUvKL2Rx8oyTQn\nrJkRW9u4vD0JCXl4K6yNxKyYA03ijpbZZCQN2IvC/8DEoladTf5CQhAvF/Ot\nMrLvi3qTeh2T2JVlt96hZa4sJO9SqIqJG8iKxEYs2hXgXvze/VaLtgl8FM0B\nsWCLav6HTHLTLvHHDubCljjeQRykHvmsHsdqx8UMAzolh1tdi9ndU24v/aQ/\nICIzPDO7ndMrMgDQLDB5sZ4+suWHrWkCdQFgQlLuWbd5ATDFOjY4WGTvKmAT\n2cEzxYMJ1aVYsJCaIJU5Xx/+jZ3KOdqpiyp6GdqKB3YGfS7IaFGCsIG3haqh\nes2i450QwPZCj4ddnubb3ROgmKRCRupJIeW5F/mgAmeKZ020qAI2C1fY6Y92\nuYmHfCetCilSYhsgiwZOYbPn70g3bBRrIw8lC25NLDcd9PDXOvW/lB5vMgMy\n1mwH\r\n=WuDh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826190803_1598468891131_0.34250309621590147","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200826194631":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200826194631","_id":"@accordproject/ui-markdown-editor@0.95.1-20200826194631","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"6deec5c643e1da539a4cc7b6d7a5b3eb85cde1a5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200826194631.tgz","fileCount":4,"integrity":"sha512-mR5B8o+lkH7YvmCNWWuxVYnlPSk/iG3LZeZIbceL1a9eN3P/XLnX/g/5ECLJ7gVbdfF+Q339eDQs/4J4ugYZOg==","signatures":[{"sig":"MEQCIEqrmv50uZaGMDGKLVvTOJDbpbpMRFbuAkzLjUot0oIWAiBe3RtKLOKm9ppMvryat8+TsQNrXzDSE4HZ9Djetzr2Fg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRrwgCRA9TVsSAnZWagAA6ykP/jbXe2ZJ4IMA83MyPG9X\nX84bbzAAUsdY7ypT0w9lYXFg0w+V/GvRF7hjMwOiv1SLnJ1QTtbKCP9s70b5\ne3L68qx19nB3zBnw3+n8c7hsHUC0SAt5rTH2bv+X7E5s3vZyk07Ly3u/6rop\nJRmSC23B054ZUyFJiTc/jMtOBbAlW+4iX2jt8TMo1XEIocvcz9vtiRTbSOSz\nQcK1wVhRJa9HRDU+5A0Jt+q0zY2WgVc0TGpTlHeQpvg/U92AXTTfqwJPc6pA\nihxo/CM4fOl9d9yy3k9GoNaxL8Iqxd+9xR6H1Igi2Px7AeLhVEW0nyb7BTDM\nCLjWmUahVfKn6bYgKOnije0zSST8Rh3+st7lQ5B8Cil8iUK7rhwktaOAikTY\nGbeE7JptAOp2eiE9qqtVtmwu8NbKePn0VueTVAqH3vrRLl6eVIte5hKjubYn\nYVWMRWIh9qEcG6+xNQY2+aKMdrbxz0dvho5b2uxMNCF00wqlzxNerGLOELnz\nHWPuDnonbiNz0ckoUjK5/aOmqMdxQhefwKfRZL1SVKy0qQ8Ll7zJxklzMd2c\nNGN9ngXJvXbpChXnlW3vb0tYqlVbFz24FBR5MltWC769/v3zKIVHITPyZP9J\n+8BTsEjp2K9xI6RErIORHjLxW/xuD9D0QfbxGfu/YxF+2TZFUnbqRqwRpLVa\nHSwb\r\n=zWPw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200826194631_1598471199461_0.21514182850401187","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1","_id":"@accordproject/ui-markdown-editor@0.95.1","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"aeef1d8a1f63c8a561f768f3cd2b70d3baf1cd86","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1.tgz","fileCount":4,"integrity":"sha512-dPnSjVpmZOp/AWIZuHvSnY56IuZxUw4M3BQPugjEC0q7nEKm8u/8WuEzhyAK26M6+tYjEW/wGa41kX9BecSbYg==","signatures":[{"sig":"MEUCIBiarrjJynM3b2cV6J2dCGJ3HZM4QT5tXJT7Fws9cE48AiEAkrdwALViK6NHu6cZ6KJcR+HEM8+tozF6j55QIYS+m5I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRr/SCRA9TVsSAnZWagAAgikP/0sO0ZBBS+n7ae4XFSGh\nYN3wtSE/Rs1wb0mXy07/qMvLHRKlvavqKEQ8jF16uZpAU/b0GUoIZxugkS6g\n6PgEndJsKnOvqNLGEkqeu0u2XhSdPTVQUj8/yZCIIuW0yflwJuSueqq3gjmJ\nFJQJoRE7qmWlKiTEzOgAwPN3ImSRfj/IJqpsAHILrgs57jkjYI9ygXPsPrZj\nGZPuWBGdvBBV1Y6JeYQ777/WoDMFhb2TZ1krnXnEbLdxQ1fNkdeb0sTiWZBG\nBvVemHkPao3AqaRqbqF46BrSCLNL6MqJh8EI6dLv+4DacDgXFnyXMN1/Lk5+\nyc3ElrLoqaBxffQFBzxjst4wX+hCztZbFlfp4FrmIK5i/fB3u4hrCprH93ne\nk1hR+FzzMcShu+qLMqkfj/8uWRG04jUTW+ci3J+MGiiHpXD1DR051NFoDl2E\nUWu4zEfkJ//7qD9VKJeZ1uKHlHaLSLJ7uRIes/0MvH2mtvZGjYTbo9zB6SnG\nggA77L1NzYY6ObNpVQQQ3SaUGqAvQAofImyOwgTMe4CQhVwi4cl73D+Rf5Tx\n1UX4LYJL1bKrYQaidxZ+A9URLRzQD81lE//ZL2qiepwxI8sCDEwNT+j1ytsv\nO1eacjbJLUG7hXc6AJeiH55+HN8K3riUmgpQZuK3rO8Rx95vHaEIo5IEivUG\nNbKE\r\n=f6hW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1_1598472146159_0.4884422641909032","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.2-20200826200706":{"name":"@accordproject/ui-markdown-editor","version":"0.95.2-20200826200706","_id":"@accordproject/ui-markdown-editor@0.95.2-20200826200706","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"8eb710b271ec5dc3c9349735319c0be8f7c904a4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.2-20200826200706.tgz","fileCount":4,"integrity":"sha512-LT2ltHJQcORu7oB17MHbVP65cbQpRihTVTitTh2inIl82UkHAeDPpRypuTr70ZCZQilYKAUleNZxEoHW1474Pg==","signatures":[{"sig":"MEUCIQD/TxpY1FnipHkR4NWHFqQiCh4b+/Bg2vTnx8lTnZJ9eAIgffXCJIeLquiJ+6176CBGEUpAu4puOhQFoceP6gfZHt0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRsDzCRA9TVsSAnZWagAAC6cP/3juztqHBhDji3jEuKwI\nzsTW6uj0yLQwCBSNyKoTK1r6zNHrxbeUtlGzyVZsAjhlWQUxVRmx2VyMrIU+\nYrt6P8TO+pQdJg//pwsVl9dQNV0tNgpl9fKgo6WgD4BxyC9A6D7T5oR1KNSZ\nJZ9QneSYkCTBqJS19Jg6IwaZqkqdxEJcedZvwuuffHaZMqzDxIQnKneGzuZL\n1VNGt43QULeOlj1fWMwANqZHjOGHCJiobaQmr1TRtHsSEkZ3rTxnt0GaUcOg\nnl8GiBG2l35gHuUh2m6u8fpYc2LtzTANPMZgCfC2ygeCV9XaZGLi3KQU7k49\nNWF8DJEuhCSYBiFradFnxwkca7yZc5EWYeiyN8sxqxMQm1/WSVWDvDu+7B+2\nHB+3dSM3aNcY0U6M+XC8HJCN+I4Ud0lxde0FwaIsBA5o8BP2a8CJ3LFSY/4N\n+N2OTjn7lU8iPLPQREnEHDB51HI2Ky9w30LqlKKmAMYjhnBk5Jw7PbEEf6BE\nKn1Na5kuZXSXqpAXMlz2cvPbDABmfwps+NIuX2mwBAY714VltHUFI9S2qSHJ\n5YyUYbiujJ28JZKe7Ea6CdO8Ufb5yzeihmzbZJZXTNduMylezIv/ITdMFQS2\n9dEUeS3q05kDKTNKWQrDTM/zHBnnKR868ily6xcL7U0iyhcVbLJajMhGSmqH\nsU4j\r\n=Ffrz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.2-20200826200706_1598472435064_0.5971307406951365","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.2-20200826224901":{"name":"@accordproject/ui-markdown-editor","version":"0.95.2-20200826224901","_id":"@accordproject/ui-markdown-editor@0.95.2-20200826224901","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"04591fe0ccb84ed1f4a4951837eaef97a5fa5251","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.2-20200826224901.tgz","fileCount":4,"integrity":"sha512-v3BKEJyM6d1+0Fc0puHvJ3LgHJ6ZsrxczHTW8BNtkT6zJQMsyKnDKfIMf+ReMmIgZKUECwB2/p0sMlAGKKux1g==","signatures":[{"sig":"MEUCIFG9pRoHYtcA8FwOlhs4G850fypIs67NKvdL1hyu4e5TAiEApuw3a8sVyoJwxz+phUrjy6XRMuku7UnngNqkT2NW578=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRubjCRA9TVsSAnZWagAAYm0QAIUjz0yMi7BRQZuuwde7\naLPj4pWcGrLn93y0MwNCxhHnTT9JKdvkYxRSlQM6WyiKC3lM7ag9SdPq+LUq\nnTeR6LqgoTwko1yiOioVupmE9JNOncbqEWNvmwXKmDiWQ9PY1RxHBFB+eQ4n\n2E8ApgTXXJ4iPgvpP8K0p4OAHju9Hy6sxht6H/T46+QnUeQKVKr8L4DF9eyw\nI0wUmGn7pWXMJVLK1SA+zb/R5KPfLzcZaJ0492MjKH9j+sPcGkloNdEQgZBS\nu+24EIFO18SkH3PiWFA8lV4IQbCRXiPOhrPy0fNsIZHg1nBIwMHQmSkaVp1G\neNyo5fbPrMwCPFHVZoaF7fHWRRzjvtU81PQEwU/ZDcWM77qVf2OfM+xluXc4\nXFC33atM9/vPtLtV2zVt+y18qM4m3hYPGzOtYh027SSk1WzpHC70Mi4h6DEm\nzZPkL0QxK1+zoQ1Z5GdoLiRR0FpLD+ONiWzSM3CtN2lsfE7hPRVnSAutfaAE\nZdhNcYc+U1g3iB/O/geLz8Buxr928wcSUGj1C8/u07LEL0JmfcX878RmO4YG\neIUToAX0FHsUYqXMxGjnYZjjzzHOw4f4EmKgM8jfFwlO9d2/vPyaJF5BHIoE\nChggSH/AwyomruYsThMDdH4WnA5Rer0mAAvkim030krysfhBgXwXa/zjNlho\nkw2m\r\n=r9+5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.2-20200826224901_1598482147328_0.1812897919469283","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.2-20200826225934":{"name":"@accordproject/ui-markdown-editor","version":"0.95.2-20200826225934","_id":"@accordproject/ui-markdown-editor@0.95.2-20200826225934","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"19277e77df1d7106724ce6308a149db0e771e0f4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.2-20200826225934.tgz","fileCount":4,"integrity":"sha512-0lKa3pr0euDg9fo2i2PnGEZdk6I6FbCSyFoLepUjeXT+dQFAIrIL+k1Gm9psskqsIxFYB6m6oEaQ7uDzLly/gA==","signatures":[{"sig":"MEQCIEJk8Ua8Bg0EZCl+FdBydrf1X4qOidsaVKiYSDXsY9UfAiBGuGNVGlHnNsWgzujUD+dxnz0uaFYEmipX0lVzsO5nyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRulgCRA9TVsSAnZWagAA15sP/jrJMxEAPtHYVqZAJLjo\nI2K5fFZmceTbe6ImRpNXNVY/MYm5cnLj9fdydb8KNEF2l6TBBWnW/s5es7aN\ntehdHFh9MgKWFJSoVnFm1bWv+IVQSXF4nTA1sCq26ouTxJn9LlYgBKxp8kpN\noTWdMu4hctiOl5B94mzqCO5lA13K77U7/Q8veDoqYVtF57VAgtgHmAoPpuRd\nvD39IleIgrSrBHs8rDbsKi/c6ruTPNTX8z8Mth7h3Bs0uqDFq7fmnU8Kz45V\nolMcy06MoL+fu5ezysY2WZvQ+N74IEqJ1HeAgc/1k0vPYKeKwXI7UbrWai+q\nC66kSiU9O3ZYhAB4TZx6H54o2Wm15k8cDGVB2/3Ed3Ii/z3bj8dPl+KnDSEY\nR11XeZcC92vAxSuXxt1OoMJpizuhR12aXCYUFdDHeEyt2PJIz2fcf9VCjEJc\n+oQYrEBzLDVlcBmViql5hOKS8v0sr5vtjyATGPIJhPdkLLzOK6qwVeaKKbwf\nQXYuqWIi4YbR4ngXFa7RMKPBQCEmP4O6QCocdTopYAsXt3sA1SEbO7dbUPPo\np0Oo3N/ItMjrgEo8tz6Pgvozxx5ccgr0mpCEKkM+hqkY0E2cG/OSxf2Z+7M8\ndQZ19MdMJIYQeg/P6sDzySyqRRx8QF3fQgTVXzMNHYrruGJCv+ISCU1pALKL\nnCqx\r\n=rhM3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.2-20200826225934_1598482783571_0.7383755366641442","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.2":{"name":"@accordproject/ui-markdown-editor","version":"0.95.2","_id":"@accordproject/ui-markdown-editor@0.95.2","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"7d4bc9f20c3d4f9cdc5af06a5226e66a7df7370e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.2.tgz","fileCount":4,"integrity":"sha512-xis1Ksd5+8Ek31dDxwKO/jRxaI4AO/uLYsqN0By2kG2Sv1SsbfQDzIphgMfX7JdxFGfbm8kHggF9NNpfxnFptA==","signatures":[{"sig":"MEUCIBEUWX8FiFKqgj9W4OAjoARUGlw7YMn8CeT/jCfTbW4YAiEApkQmnHehtFEhnb+hgsZkzzXZ6lL5LLVjNiyNu35oHTs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRumXCRA9TVsSAnZWagAA5aAP+QEUFiVHfx5QGPypApXv\nNQWn9nyaVFHkT1JtuS4VhfzHZB/VbngOdkc7j3TTQjRQEeiko3uIc8BfyXNO\nJKX/mQXzOvFAd3gqSTNNLBup0fpshJ7fYmuxODsUQGZgo5u3YeSS45ptTDIj\nzKXo6lkblvR7xj7pqalXE9QgRsPg8A7VXyut87yy0LdJzAWvdigSt0ZtRWKs\ny26a83ynr1MDflmOXq+SWX9zEDpvSgpNa/osfA1NqOrtz+kYAR0ouF8HBQZs\nqn4p4+lvO80Cu24PYmC5PZCvOAdQln9oSzuU7MJDefpVaRZTGomcyP+KG9Cs\nRAQy9f7JBCdcLLhWedaaNP5Jt7iLhLJfmXDvp/TuO9Tl7frN1lNtOUa+3AJo\ntSPdhD9ZwIv28gqODx6a52q1WgsYHrNWHOFcFBcIkUkyskiVKRrCAZvTlyqB\nnAxJe8gVIlpt7vAaBn5bnfy//+5U4eohU0C/EoDCECsvbNb1C+Yqt6k1MTRO\nCI+5Egq9cJXWifqJ8i6cWu+vN5Qx6Yn8CwUVYVdspxsYX4PhyBfhpHNOT0xb\nvjSmXqZe1IGgmzDo8Zjw+hi3OhxMVjh0MLoFf5a28VrU6rEJYe9CaZBD1NwA\nWpjDEsjp2xa6VWsE+6TCjZJp/GDexuxIoKoJMovhILr62AFAq5TQKA0IH7Zt\n483F\r\n=zqbD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.2_1598482838948_0.4571588498912089","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.3-20200826230518":{"name":"@accordproject/ui-markdown-editor","version":"0.95.3-20200826230518","_id":"@accordproject/ui-markdown-editor@0.95.3-20200826230518","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"5571995ceec381650586a380a4888610762cbb94","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.3-20200826230518.tgz","fileCount":4,"integrity":"sha512-0jgO019GqO+S9ac/YotLbwOe+CUNG2SthPcETI2cszVdstgCsz7Hpt4SF2gTWZyDeZtZedY/CwTov1GCeZfPdA==","signatures":[{"sig":"MEYCIQDd/4CPeOTxEQyUDeUGwtX17oWDIrgR0ipjcsZR7PbSFwIhAIH8IYMcJjrSzEHWikToADzHrmUztx2nRjct06Frx33D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRuq1CRA9TVsSAnZWagAAXUkP+gI4Jy/ugA+0BBwRPl0r\nv4CYTBAC7drfe7xzbC3vFBRpkiry0WwbOVUBygpUr5WaGOWjQeiEVt0f0QrH\niEXCz9o/Dr7XA1vTD2QW5O6dCUd/OYV0dgAq8X3P+pDR/ymvaTowPOyLLw/S\nXYpp6OHZGvYdb1oosgBDTTQYW/ZJTk6AzS3BbvJSaT9bULHmC8aFSc4FTV1B\naUXOMzD0T3Ekq9ytFhg4JjDhhkuGWTF4pRD/mrghizE2Ansuh0VymLh965x7\n0GCs2vqMU1sC6lDMbRvFPtmTfhtOcG5cjMzfuL28RHTCgEI7ll5Di2DziztL\nWpXGNvxtmdpREqdzzGEl5NBB/eMw+av/yX3ov6nUxiDjG+Bm9xtmuEQzwg44\nv9ImTEHZYyLfNCpj9ImftfLsBwPFB2ZkPAtDZyFMHDNUXbqafAfuK8qU9IbP\n76zrcFah8LhKzaz9PYkiyDDHDNLkZYIMwro+AYGTC3yDMNoX5mGQ0vmrfUgE\nusMpioRCWPv6a1u/RXOluKwxNBzEIuRO5usv0PP/UEakskKr4KELCukzBFN5\nSEdtFAXhSCXuYRy5vKbtyEzjGwkhjflOm5VfIedyOgLMI7pM/32AuqiyoxC2\n9fco+wmFVI11riW/5OUNdt96R4rV7O/kbSntmixpfEUvtxeCVr/KJQUWt/9y\nsFmV\r\n=Vy2k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.6","@accordproject/markdown-slate":"^0.12.6","@accordproject/markdown-cicero":"^0.12.6"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.3-20200826230518_1598483124947_0.4558613335990609","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.3-20200904231703":{"name":"@accordproject/ui-markdown-editor","version":"0.95.3-20200904231703","_id":"@accordproject/ui-markdown-editor@0.95.3-20200904231703","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"01ddfca768fdb77473adc9493745ec03bd16a98a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.3-20200904231703.tgz","fileCount":4,"integrity":"sha512-FK/khDc59bh5eptPcfpJcNzR+uYXYXzJ8ki7z/mJuupQCDBl8fxoNm+JvtbfFMRfk5l+6WekO6IzJcK88VgyVg==","signatures":[{"sig":"MEQCIAeH7eoCItNSvhSLmS9+MfbepNNrJaShcK4W6z7OYvlYAiB/DV3DlKxVw+yEwPRZcVwiOKEX9ye7jooFW8w1cQyinw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfUsr2CRA9TVsSAnZWagAAJI8QAIKFbK/yMUwdb2sBx0CI\n3LPD9KOMOzNpyiN7TBNioMS6za6Y3wacyvmHO16xvSsyrZOrxgBX2c3gnB1R\n3pGsb8ltzE3h+Xep/xoPI+0h3tdF8Iqz5org/iVmygPwfO/dQZbQwNRfH1xI\nyDylaJu/4NTUqoJcpXUpDQoZhFP7BdZIJgCESeVYrE0Bl5/+1KeGtRNZhRuE\n/7WNkqiOvTL9nniiqhRNA+aeDC3cwoKwlrLx8rRa3zrJbVPU+vH+GIynDMdK\npEGsFkuCKtK3Mg5YLNJImy52E+qDYIv2wqtuRZnqhxelTfWk4HfXuYWCOm7V\nDRmdGP82h5/oIoki70jGgEwkmRjWKRZbER6Jchf1jk61MQ3eikjNb2VAmjVQ\nh4G5pqR5HharTf86x9ufEFHrWe3DTeiS7B9qv58JdAjeRQgIbOZT8AErFY6V\nfbiVyZAZpqKfTcXsIMUG+regkXMqYhwoNe57Vwjx46XOeo6rqKmasZa9Z1sx\nM0NX/9duMVUufBTcjE7QqXXL9A5OtVzSD0Fnfn/SE/k8VAfpyrluFEkgI32h\nvmzLTfivOEQ/1q5PNOEsMdWxAMdqiQ29SYJpNY1/Ql69+Io4pe7ePfHAlHzS\nQ32jjwRG3xXTfHA4ynWrHmSl0/CviXvcEEcamYAY9lJU/9q2xq0HqMLJ+YVc\nUCsc\r\n=NSew\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.3-20200904231703_1599261430066_0.4012230747535579","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.3":{"name":"@accordproject/ui-markdown-editor","version":"0.95.3","_id":"@accordproject/ui-markdown-editor@0.95.3","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"a9d3a359cb60def7113aa7848c377b1f74f441f2","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.3.tgz","fileCount":4,"integrity":"sha512-QbfwJuGBHZRhaLb7mdtmiTrKedJhXvg3VaQlsgGBeK7G4ODHMxTy0UfNKF5o/mFhn+sHVBqrRMHkMkhAYqkK7Q==","signatures":[{"sig":"MEUCIENKHcFMdtcGwVrawtHtarC8Nf0/dGjfLoZRjUDLRW/YAiEAi8958rCV5ssY2bgI5aIEn6F9APrFrQBSobVnXKFXR7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129668,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU5+nCRA9TVsSAnZWagAAjpUQAI3KO4/5Luf7V6FeeUOe\nJCxqfWJWk3V6J1ap1HGvd8PELYbKlvuBpSnPLycczgltULUyTogAZv5Se63c\nTuK6vXr6ecwuiZt2EYFr0F+/GAqR2bFu5KU2Jz4CsGjC8WzxVXX+LqjXoTm+\n/UsXUmQN3Mz0WfasFdaCATCRhbZAN2b9SoLxWWnOWy6tKk8EWymFZIYSzAUt\nXMw5jKdmfa71s/asmN4IfecZehRSjNER1IzkHINBwzmal+K9Trr7nWWSPnX0\nv/2I1Tj6s9GRa4C9dB7SQWYAyTBse32BJw1zL01D1FzvJcbIGLPEYE71NQy4\ndLKMf39qJhTGHC9Xv9WMdCIuVF4aXPzK9C7+R3BttIXgpTMfZD7/T5qAirHh\n92/3TmSHYObmsJ4/Ro6JCaev4jMxTw5g789bJWlSH4iBZuhOTL3XYf97vkja\nYJlAfetiTBBxxHlqFS9PS/LQFMCS3h7wMDIojJ0DVqf6Qrjl2vTUiUbH1B8K\n+K64Yw3B2LuelUjD2Ahs2eodwSRl1lPZMBU3jImKqeVYpUlPHcbJqNJrzQGa\n4gvXZSdhXxC6IRxw4fKkOsnsVPxySGz/0yq7re/s4cSeeuTJpbklUnBXLuqK\nyDOkBHRsuDwrrM/f2uq6TtG8xztw8rju1snVQfUsy+QULUubRV9Pg9N70S1/\nZMQZ\r\n=7WP2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.3_1599315878575_0.3190144386160214","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200905142928":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200905142928","_id":"@accordproject/ui-markdown-editor@0.95.4-20200905142928","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"}],"dist":{"shasum":"9a1b456220dc34ec99028fec29b0b421e667439a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200905142928.tgz","fileCount":4,"integrity":"sha512-FQmT63n8UiNIl6gVeekobmLbXAeZin3Y+87To8k6d5vqJxLDebhA5QIFmd+hrkhVhXEVKfJts+AwYsykZTyg5g==","signatures":[{"sig":"MEQCICIsRz77BIJS10XYoycItuSWup5BKZvfeFNzC9hM/SbJAiAHTSeXtAnqEwSZKH9z+7pT2ImF1xdttPcmcyK2kbEjow==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfU6DQCRA9TVsSAnZWagAAw/IP/jj1oj/TSbQI3TrJVg9o\n0larXh4dKt7ealNvry5ltlcH8XNnfOwVPUNnbMhY7hPC8UA+2b7dgaeBDzLN\n8keX1duwvchbTUG1OXSOpkpyhOmCSh4GChVgWCQDocWu0mLaLiZm/IDIYdbH\nx8ib55qfo5F05o3eXEhodfg+nLGoR2tx42wwa2X3Oj0zhX9CcQadf7OpTY6/\nzJRswZmEjYKKpA2lhSeczuzivOUhufHYDWwFaJj/oxg3mNaj29eBqh/bFMyG\nIq0va4OPWj/6FKoDi0PfxzVSWJ42BGNW6DpGzFi0QqIpr6279nfOLsJLw6v5\nbIYFOAXubmasMHIfRzgg2ooIo324a67yYFQaZlvPJQiJUjL/u6tr0WwFMR8p\nxzYDrY3z8NWJdcYlc7BF1g2eQl1D1q9D36XXLZPdbXrkGtguzsgSB256vZIq\nvoFR160Mhf5emumzxmN8wEpM0qG5olXLaJPDXjAYf2y+I78aZs8vV60PTGtc\nmGS2F/+fDmq+/vn2i8kpeQOnsDlwFTHNr1JypKReJgMC8lQNBKRyb85XUSMz\n7ggnur6AAaqBIusQJ7IDHiRhA5MXWsW+VNMxIO70yLmt90iQ25tyToR6YUDy\nVIGD9PpqPE+L9vBN7SCZ2om4EjtF0LDBRk3yRZo+yw6omk3BVzKg10jDaA5V\n24Zn\r\n=GEvb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200905142928_1599316175938_0.8854378965866676","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200911063108":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200911063108","_id":"@accordproject/ui-markdown-editor@0.95.4-20200911063108","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"e6bf410bea4eb847912490e07c7b0b93220e802b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200911063108.tgz","fileCount":4,"integrity":"sha512-OJQWEB2LnWULd/21LnWeMEIugY0XvVZWkkN4JEz9iTZj9L0jFQiraNYRBVjGXtJJoVgnbJ1o0wwPY/b1Gs/5MQ==","signatures":[{"sig":"MEYCIQCz3qUpfQApM6+4QJ8xUJ3llZWCll9Q5vEHMrb9PzxfiwIhAKUsTMIXqv4LGoZCOJWVJW3BKwVX9DBAkoCX7T/7hSuv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfWxm2CRA9TVsSAnZWagAAwrEP/jh7dE/+zWUeRlOFknFU\nb4l9xauVv2kC3nC+8RCyK57GWZOqDtulaqukXc+0CeoVZHpMKnUULzNKWt73\nj0KlxARNZkUWaL3uR1+k/Zf3BSFcFLmwgdjXpRF5OvSinKj83nVzYNspY7v4\nYT05eS3TNnxMcVF7uULx9mf5bmIjlgWIqZKet3rVCdfEncdUAnxW3oXYtx1O\nqZq2RIAkMQSU7Wu6/Aw8LFA6OVzzNPWeOKLWggBRPKwbYhtA/l4k3WoG6p4L\nC/iP+PvOkDbcHtlRAFsR9soqq2/hej3WBxjeS54QdojUFmzAJ/a/jRmWBGgx\nUvWeQy8zp6xthx2LELBZkGZRQlPJgRpmY5xPPqtzzIZa3JCHaAy5jkvyqW7e\nO6JmZFqMRo2Fzygn7Bgp/m2Sya/csRuEZrgQmN65aUeKzp9G2UiGYNveLkqq\nhbYHphmvO75VIKrS7MMyEjUeiPZwoVHDgxpePEtl1jFfYb/rj0N4SweVdXHw\nvf86AlRxyBGPDGlex7lJ5F7QNBrde4ke6gfVpKVCKk56xNn5AsA/1fZHpdQs\ncYRCl432F/WGbaPnCWeDHUviezcAZQ/9KDhbozv9I0+i6MBNtOVQAcaRw6KV\nYAl8ctpSqVnrEt6MDm8MgmK5LD8BHF0F9ZwnH8yW+YaCVPNSFPnRrd7tWPTC\nSYZu\r\n=4DIO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200911063108_1599805878429_0.11164792627608322","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200914134853":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200914134853","_id":"@accordproject/ui-markdown-editor@0.95.4-20200914134853","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"9b5b0d1a85895bb0306ba85dfa916db77f52a31b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200914134853.tgz","fileCount":4,"integrity":"sha512-7D2+5XD2c+fvHKyX1BBc+sk5jmHVQBM/sP+6VFwzWxAt6oAVqbxaTSm6K5QnhLEpjDXex5w6MxM5W67b1JT+Rg==","signatures":[{"sig":"MEUCIQD60lZn07OP7F/+L6MnHSuvZWEAfZCt+Ljce+pWU8R1ZwIgWyFsfDfGWlXgpQz/b8qID1vMHKeehLNCCO3brJDOuZo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX3TNCRA9TVsSAnZWagAALgwP/iUV0BJJrjfYhwKtYcI7\nTLx+96TlI+dM+9GO5sEmSpY0KqCeW2TL7h90cNISadzVvlCuBLqAONb6MP34\nc9fPKCNkN2vkA7I147F+x3Ub8a9uaJbJAl+N5J6x3NBVBL9LGCsi0XdIwi7q\nlpUshVRpi4ImDGfkzcufXCu1ZsmNiNwpXP3hgy1JXVS+iZSy8o2wpHCgCFxY\nvQ6ukEHD0SqYhzWfuy47InL38M4JufztHEJIXr2GaryEzM3/MvUYpmCIJxAY\n4djRos7R0jdjU2us5+UC5bZvVlIHJqzyIQK01E8uWxBMgJdQ+5rkbTz1BMrP\nWoEJmHxKN/miTzd8IoO3XVCzMSrIccivMKb8mhfzbsX1IkDmU/1vPW77iCPp\ngUEZGyJpXTunJT3NI7gaCBK6StKOYB4QWZ4H6iM0frrYrzww4s5OtF7+bYu4\nf914UHwSpUJAXUl0rBsdqGPmdu14CgDhsg/PYUy22h9Yh/z890gMZHdO7Bsy\n0fu4bbIc3UxFC+gavdGYKofSwAJzt/ywTFuEGqHihvmoJJiXK+a0NYgaiThs\n2tTuGv3DhKIKtCgDuKVQY60/WwlCLZlAaRDLXYihc9Qt5/S1epzwHYNcrf82\n2zpg20w/6QLHgP3LGi0YHsbWRgodwF8AyZL6g8RAePuAe/XTTm7OcCvCbcgP\nZKGJ\r\n=0eni\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200914134853_1600091340678_0.6178126316112087","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200914153916":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200914153916","_id":"@accordproject/ui-markdown-editor@0.95.4-20200914153916","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"9959ae7d22f0e22cadc9a9b272a919c15b417991","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200914153916.tgz","fileCount":4,"integrity":"sha512-pitfSU6VqFf6Qhxkv0QWid+0pYAG9LAatphJkLYSZERF18l0IifSdV8xCY95Tsw/+O0vldcL+SNIY7epFBj9Qg==","signatures":[{"sig":"MEQCIBphNElRFfLQlRogmYyMPe3goWSdO1mTvTwd46ZXiOIqAiBo0GOc5wfxEF/DurRDq+BXS0uG9yx4Or37LzR7Ky0LAA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX46rCRA9TVsSAnZWagAA++AQAKA6IYEqDWnCusjrcolh\nFWrATtai/l8IVyWXzfYXsuqqqwvUnZBhdCjBtAJ2g7LuCZa1MY+ZlFCL/HKk\nJvvcxiXp10xhwxCwOk+O18bXBzvUyTz9BW0XyQj/5rcpAIfzBtBaXH4Zx9cK\nYGkBx9JQrEEv+A5F+NuKSBacMBefzPrQj+T1XRBIkdW6mMCckXHKaPmsQDbn\nOOitByRQch3Yv1R49yL4kNqIYpbpCMiGF2uSW3c6JNUTORN0AQQs0fS2P01C\nWc66dvlpJjRMfazc6vKLK5ELwCZIa+5UF1UUqhIIXxIU9UXGhzFtASYFYBHb\nN1JFA+daXHSfYGzsekkrJ6UOWsN9TlY6HFUbAFSoqjvCk2zPOnodZ9c1wieT\nY/FXjAQrre5mQAPMdF3Bk3ZqYQN9S6aS73g+J0+Uw2HbpZjt29JQCpIc7D1l\nJEFVul6i/F4PV6gEFZ4d0LH0XzMiiShQ/g2d6wzqclZXM8lxsOBX+gVeiF+n\nmQaD9nViaaUKBgLRnm8KEXwffSz6WH3sy0QLVatCMNreogS+488FvOSGNLPE\npa7WizLsvENgEGzfm0tqgI54abxmlRJQ68t6HpHTuNGegLvybtHOOGk/d1eG\nmgmjos1qRLgFjJeoyuiTUNek7zvEZLWhXu5nEsItF/jHqjS5XSXveXCiWXrW\nY0XT\r\n=0+AC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200914153916_1600097962660_0.20430807669191742","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200914165308":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200914165308","_id":"@accordproject/ui-markdown-editor@0.95.4-20200914165308","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"ce2670f76ee95553f42f32bf50e5fc5cd7bec840","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200914165308.tgz","fileCount":4,"integrity":"sha512-11y/fRe1oV7cattuvt2f+JCS2V8kZJy2CT4tKP3RrRQa6xENvQ39vZ1F06UZkPV+EXn3F37W7hkne4tNlMr2FA==","signatures":[{"sig":"MEYCIQCxTd9IRSglWqohg7EV7GngzOd+zoORAqSSUmOZ4PKpcAIhAOus9Q480cYnMZ7l4kYjcgcjx0kl0ukThVSp/Zb5Ho58","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfX5/8CRA9TVsSAnZWagAAevMP/AzS030b3yID3ibfUHjK\nWfJjBKcib85+grM7tinV6GAaRU6BIjHoMS97glLPFiCe8c4t9mWcmjoagikN\nm9Sy2INZPihFcFsnKCGZ7U3ttoAqI9cUuHwDBKo+B6xp8rkE9X1/ytzLN+74\n2TI97NxpUJMPM51REJBV0sufRndvDFz6Je4MO9qoL4NURaD9my/nVPWopIuf\ntpMCz9XJvFwG7WkLYEb6/GFnaToeiRWpO72jSNWSXSfo1X2dXmtTgc/+1+gr\nppD3D1V1mQmJaH/g/f41PTLu7wXGVc30hmymiOKuWsSvNjmkH+zceBPTIRO+\nvdQKiZjguSEDZwzlwzrUHCjUGD7gUxRq36HiVagE/FEB+An3yOyoOHkfmx3a\nzT29Ls+i5x0Ox/m2l0O1H9AnC/Vb7+6kbfQL+YK2DP4rgq2t8iBD40dxI2pU\n2W7cgx/kZLVhkJ+tgeOzb5+xBP1cgMxstz6m8Ua1fdMPMedwaGYZ20hR2hYW\ni3sTDX7/pfh9x8GtHR5YilLY3fWrs/EkQDdh79fLwux+fqTkCHquhscKYga1\nTYWMpuaSi5exh4RKnGHLaSLWHMVS2bUedr8Og/WG3vqbhkUil2tEwwZHnww6\nKZkCvwQtY2h9GCp4J703sCQmRqu7+tqfyuQ/zvRp3ZBKuWsbPRrf2beNDOrR\n96j6\r\n=qqji\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.8","@accordproject/markdown-slate":"^0.12.8","@accordproject/markdown-cicero":"^0.12.8"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200914165308_1600102396542_0.7426244611140538","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200916182221":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200916182221","_id":"@accordproject/ui-markdown-editor@0.95.4-20200916182221","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"398e710d013deef83911cbec682d5dae96c9f5ae","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200916182221.tgz","fileCount":4,"integrity":"sha512-/M6AgFYG14LyhiADFDD5enU4ydmuahJkhKyViNLbgXNf6bEZQtID8qr29LthMoqjKjHUJ0ovG51eZzLb1I6mKQ==","signatures":[{"sig":"MEQCIHevMiuUIsd6ddWs87xHKHvF7HlKbWCVFnkMzBkNVX6dAiBqnFVCAvus7jbpTsrRg22FFGP1IV89rHH9mUGS4cJ4Mg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYlfkCRA9TVsSAnZWagAAAxAP/3vB/brfeFkAKbejZ1Bp\n4RNl7prnO1M4H/DFb/aXK87ID7qsRKaCM/mRgbsVJN5ndMX2bIicA1DVqYWA\ndPvWuOdjHedQQCoFQxGX5tRQWAjUl3xzJg3COqq3068TwGDtbjYvfTsIVqO5\n/iO5kHKgT9toF9aPqpaRuuiPXHwXQBM61zRGBcoiaUEP8eT3vF8woalXVvCO\n0Mg+Hv70yfKaiUESiTsg5TaEEN/2w6Zwh0AZZZ4BK35aaag1RnYQZ837uyZ1\nUdDXvbUJ87FdG9wguTf5rNGf8dRRZWitMrS4TGEq6KTtdLbU6jNOMl1sxyOo\nyvX4McSlV8/bzQC1ej9QoHOWFRELJ0WiTfKP69kyo1EBiZzu9M6bwTC8095r\nC/er+0E0ghR1CW6dhdkQHAxrCj7b3OKOLvufui9VsBJz4nKVwfjFtc1EbwsX\nc8FVWeuvC/E6c9PkFpEU5/usssWnL2F0/q81MXWCyv0tOETwtDkv4h6RjId8\nuy56YNcHDlQ12LgVjxCeHU5K+c+fRf7V85l5YWQM9QaKRqVBknUmVoAapo9x\nRINmpBfE4elOTcS5kw5SbDdAgfV8yTHgjcq2YxtHOtjxh7Tm7+z/QWPy5ryT\nrQdclgB7Oba8VhdFmx1w1ufhAVlrGILNwUTcgJ948/NmmchEmdeaigLhoR0m\nBxMg\r\n=1Afu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.9","@accordproject/markdown-slate":"^0.12.9","@accordproject/markdown-cicero":"^0.12.9"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200916182221_1600280548370_0.983406264801538","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200916221824":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200916221824","_id":"@accordproject/ui-markdown-editor@0.95.4-20200916221824","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"92d50552bb5ee9a8a77a7782c1c079658378df54","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200916221824.tgz","fileCount":4,"integrity":"sha512-BLOzJEfrIBexu7eTUHOpN1+pr7C7dFA28GdgjUuaj7qplbpmuXnGS4EyTZA7egBwGCogC3d8L2gApFVJpiXQrg==","signatures":[{"sig":"MEUCIEu95iiuCXqJgFrMK9V1U6SAv0G4ecY3+HNlgPLxwVZ+AiEAh9EGWkjjxk+HgvsWNQKnBCRXed1u1XK/6iakiJk2WKE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYo83CRA9TVsSAnZWagAAZ7QP/23zw5Y6sna243tr1Xaj\niyL+iZxGc5NoVNPJJ7fr12KrWB57OQvuHIGkbnphtXQnstTUU80ReJEUxXLd\nZhKnodn6OAcQtdrQIeDD38ufoaji8oAxI3vAmNDEDnp6R11JokD9bP4VnbOa\nFtWrorZ60Vxphq5Xequvij3lWcKNBWDtdd9A1jyPvKIstlH0JU9JHRYMrb6O\nw560uZMCXxTYjSeQZFJWW9OJndAD/PJjbH9fPwCoQYUG/MXiH7sSnTGnQ1RC\nL/urAtnHY9XTleHWGEs8G6Rev0ojYMJUPtfCPu6ziHhJZF6YK6rhWXRVuItb\nNXTxeLz7PfZIiIyDEE1ko7LQt97x26BFZoxbQzJJ/zGGyECS1AOl1edtWXY9\nJ4XfwE1WJsvhjWiiLGapx3+yfn5ByGg7Z3gESlXlzlIgZiWH5fUVDGOqOFVj\nWrfM1F1WzMzTkC/qCgfUoDotsl/qEVutMp21XnMGxlKCXvIvlThqByWKyOM0\nikKsoLWEKeEpdTCW5oNf60umCWg5xXV5IL9F0W6jQQl2TaU3OcGk3VAeMM/T\nHohF7G2SDb3XDK5lrt0rUpoX5Cg36rdYIIxmtw0WYPXEusp9jM2mMD615vfI\nr6nGOXxWu27nVudHQlLISaXawbD9xlpjtSixEYdcwx7oxGxUj7KYjzN46G43\ncIbt\r\n=YhiF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.9","@accordproject/markdown-slate":"^0.12.9","@accordproject/markdown-cicero":"^0.12.9"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200916221824_1600294711273_0.8886991415553","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200919092328":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200919092328","_id":"@accordproject/ui-markdown-editor@0.95.4-20200919092328","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f0cd5d91958c9ee4f4ab32936ac59b20ce5604b3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200919092328.tgz","fileCount":4,"integrity":"sha512-3zKJRSXnNRpMqbW6mAk72QO2DW728FBwuQN0H52upQ14XasNdubBGj3c8dggh/+nAsRTR9Uz7vwS+U4ZLIjrTA==","signatures":[{"sig":"MEUCIBneR1aFVmwbHToCvWff4Ai1z8n/2FBf212jXpmav0a/AiEA9an+M6HXuRJrXV7yqNnjGYbvpMzaUOUzsE/mBJHPMfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZc4XCRA9TVsSAnZWagAA5zwP/irxgmLfJFDomMkCUNvx\n1A06CzYVJ2Wbw8PHltbtPNMWTqy7poD30Ir8ftl3jUmct+GtWK2wP//qy+iM\n9BNqnjb2dTZ4pQ9Hi6nauyt7GBxI+8xqF+qNTG8kY8PJSXCeMLVqw+fv2lkx\nHDUcdoDH4qCpeeax/JlmbE/bRL/KWRsEJZeQ7ILMmpY/Jl3ThkRALVKjbn/L\nLcdQDDR5bqg2WYQ/cnzJs8kh7OUnMggvJv7r7SlMPzkK0bqCmhcL+KKOvLQK\nFOXwMHW3KVn4TEbDh641h0pdwr46G8efhdYDSbcy7ddYB0pIY0fgvu+lL3tU\nxvrXUgyiQDpzhDfU52IJKB31wj2AfM0QLYVgzceZG/FvgZtA/jWHxaNbPgmI\nh0xxC3+OhwARSREFxFrGNq49m+JMNm43Qm5iEREnsqOkhfhyQ+oiW6MdmKz7\n1bu2jg3bHRYSqPUxac2IfnWRfUOgI7ODEGRJ7r8sHd4A7WzgxxpKfjBy21Tg\nwbVwfyFXpRrjFbFNSlq6ePy5eeF4TBqeWqYQ0RT5Zg34bL0RXJRhsfDwCouE\nGFCxRh3HQy4rMoh41HeSHy5biZYrMlylvmOaABsoYBf4TK00dcq1enQ0BoyQ\n5+HvwGc0D74HeequzLZvAGvkpWsf2CvWwB2WC5EbV+x66XRYcc+TLnWziFTC\nDri5\r\n=dnkl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200919092328_1600507415233_0.6307188027187298","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200919093128":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200919093128","_id":"@accordproject/ui-markdown-editor@0.95.4-20200919093128","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"5ed4b9671c4021db1a02776acff63ad83acfe331","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200919093128.tgz","fileCount":4,"integrity":"sha512-dheXWqUfWT9JBVlv6stamiRHRcZwOFEqT4EhSN4zh0JtkSGRZc8q+gbZ2UVDq6nL/V9KbYLBu5Blhmf3hraJ0A==","signatures":[{"sig":"MEQCIBRb3My4HPCKqmwdsR0oQONZMfCx/Jiri+nvAcvWkkQJAiApb5HN8IhODrVWU/xqJKXf+MDyNtmelDKPJjHQhcl88Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZc/3CRA9TVsSAnZWagAA+6wP/jTsoDfZA2SbRyP+21TA\n5Spc8ZFpclJ/7lbmbHh8Z0504eFDmsNV7juTmQ0IBycVeBmilHq2lH3lxcR5\nMMhrtULcnIp+4pSMJd3Gx2e5AKq+J0Y19VyIuMAsFFNTWxL+nAVLWHelHU75\nQTNqx18iLEfxFcE0G8FZAfS91rl2+LeneN1ETiQ8jxb0SDmpEw/1bj5QYqIW\n0LldtgxBxik224DMMs+q/a+Jib7H0UWqrhYVCYHfMNtlORkDxUAhGuQwts5a\nWAnXf+lhWCPz+bEeObdgnpoWMQaL3yDB/7mx7TZiNU767FWbpeIB4aZXhVUQ\npQ3CAnpKQwVjFT/jDc1zBEYlSKxz8/qHdIoLf3+L9y6IkpOZLoibbsc1u/DN\nhydul4ZN2vXAiLu1iTR1oYl1IQjesKRAO5JVC8QeZJk/PP3dXOOMj0QmsTHP\nz0LaX+hER0Si9rg3xt7ZzgPRKuLC1KOf5vvOVgypULtXDJa1cTx2D2wgFUZc\nSlMLO7IBFih4iRYbMm2FTKiciULtinNhfrCTMeRf9geqIISJrhU9amdvnFBB\nvO8++y6U1RHud/A+K+8qUO03FtVDeD4sFWzElLOwu1C/qpmfbMuinzDhjZ8x\nZ6W5kSIf7q25gzo1hv5z1jxG/R0PtfG9uxEYdrzX7bQp2rQ735YE3ac1SIg4\nPtho\r\n=hl3m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200919093128_1600507895234_0.542075717466066","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200919161815":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200919161815","_id":"@accordproject/ui-markdown-editor@0.95.4-20200919161815","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"6d81e4084dd2e6ac6bd2e344ce33e9a3eb028c62","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200919161815.tgz","fileCount":4,"integrity":"sha512-0Hz1faek9DaF02/7S7yQ4y5RNSQeXMPIhcebyK5LEmJFjTlNDROD4L9TeKllpKad47OGrxTLfYVFbrH63+vm/A==","signatures":[{"sig":"MEQCIFQnDKA7JD7wqHpxV77N29Y+FBvIFc2KKNV10wksW/SAAiAI0QDa7H0BOUlW0PWlRgjXqLAQSEw9m5W8rgjp6QTP4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZi9OCRA9TVsSAnZWagAA6CIQAIKYSwZ+LSG48qlAEUNG\nAUJHVnnHXaq3P/9THHW5Yp2QsYsrUsocT/MIUD4MCj+NkqqsOR8uFnS7dNFa\njooDIkEt2Ml4230fTSQTRySNAATVrTnVxLCpgvWVMRGf6ZPYsa9lLlttkOes\nTqRxuk/67diWQSrak/VCyhi0M+pzEq09dZY76CRuNd6cB3z69LnRIqS+8x1Z\ne5C+0lWq8K5pO4kf2gCHmSK7nCRoMK0GoLiN7bf207HFOSptTA9iYBMpgjgu\ndo1tk0PXqwAAjpTzAOS4frjaikyiI/e22zdFq8x0BKOV8s9R6xrWC/L2hRlm\nkrJa4G/8/NGLzVCXenfGqwJR69OAxOUTq9QzwZu0Bm5U1xq2oL1OB0OBGTFH\nw4iMkdqgVrjdwzdj6YQLxQXIQzBLG+0gvalRzwniEOk1cbSxzDQWwnnDo2vd\nlz7tMPqdLT6p7OLiUlDJJmcpExzlyFF8lKYPoyUgRkmx78Vm9Yv/1lp8+UKL\nDU7njvzOhAOFZgkizBxfzcCQlzTAbhWeWRwq71dObW0rWRweh8xpIeoF+kKu\nNWV9JsHJjDC/t7iePMuVp3HQIs0yyk5tXZap9dhImU1AryWl3h4mweFYyreB\n03EECwUeLsXEOHXaPkpvKafwp6OnVqjfksVFYrqbxSVy4aGzJ7ahX5ufuKGS\nrRyd\r\n=vGoK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200919161815_1600532301445_0.18797306646873735","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200921120836":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200921120836","_id":"@accordproject/ui-markdown-editor@0.95.4-20200921120836","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"63795bb4ff825d520f44b2f6324f88a991ebc684","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200921120836.tgz","fileCount":4,"integrity":"sha512-nFV3bkP7ucBv2WQJNGeCTYqf7rKjFn6aQPHb18/mtChV94BF6FqsabH6aZE3eAhKVDM4l4b0MYEjt/+GP7nCdQ==","signatures":[{"sig":"MEUCIQC2jZori/BJCFAg/L0emUPIgmqa4c4nfyhQxUhCTCU3DAIgTSrbAJHOXbbF0n+ai1++etmpQdGwvMFhoY3mxYtn2GI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaJfMCRA9TVsSAnZWagAATvYP/iu857YgGEzg9loVBiA6\nuXqh8tEh9tChpgobN25jYd8yBj3Qej2xQzDlE0jre6wiCPbHmEpvSO+Ga5zs\nU5MHYdTy0f7VGVi0dgHCwCjAy6Qlq0Bxfda39iihfXk3gcv2kWJCFfXkCF/K\nmRvgw5orADD4JMfZSk5Ge/rWNxlxXPMfOaxAT7WQPdCoiZu/gaQ4e/lnVC3r\nv62n3eIrgz/9qO1Q9/jRWv43p2EKcCmhTZnalKvWoFTWORg+16Rc7Ztc7uaY\nRBYVC0BvkUVUttt9hDaVN0KGMWFe3LMxVLaEX8gUcFsJ+a36x/FePfJWq5BV\nMWNGamEs/xda5OCz40CK4ZMu/TiJ5bPukJuN5pa0cyQI2N+2iv4q5esAwX/m\nioC38UfhgDyyskyuIUvFWzvHEXaWjGMia558KubJ9/3c05mRrTZ98+0dG1Qx\nhQ4SjxnTlGq9UkcxSKso9UmZF9rKJLBKDW2msO+jR46i2qwN8c4/YPseYrLY\nxqRbA6oBpyOsyfnFOg2JJm7+dqYO4qv8tCplZiAjmIz0epD53FGCWlQwujGR\n7NNuE4PyjW42mtkx6hEVYN0lsQdXB2R1d3uz/luZpOX+v8xOHI+WeRIDxgqO\nnRR2WH5qZuvZfNJEmLZBRU0eBqqZ+Cq95MG1CRZLfkbH4QxmY0LRdZeMdMhp\nAlei\r\n=u0+z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.9","@accordproject/markdown-slate":"^0.12.9","@accordproject/markdown-cicero":"^0.12.9"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200921120836_1600690123792_0.08358870663581874","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200921154345":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200921154345","_id":"@accordproject/ui-markdown-editor@0.95.4-20200921154345","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"266135977842268bd8f29089f2b3cc4644403756","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200921154345.tgz","fileCount":4,"integrity":"sha512-E/ZuW5xSzDojXDP1In1U0OGVbk2N27CwYV0PTv61MSYY+GapHq3Np70cHHO7gb9aV0YG5w6OoF0o8iOtjvB1LQ==","signatures":[{"sig":"MEYCIQCv7N6F0zsIDIIwRYgpSiFw46COohTlxmeCayeX5k1tmQIhAIMf4/4nn2oER5yy80e0yk/9VT+360RaQVoweZayDKag","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130289,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaMo8CRA9TVsSAnZWagAAze8P/jVav7qMDzHf2KsuWu9T\nnacDjASWDg8usyDvLffShhVWmZA1ikvDaqQAQsLZkleHCOfSzMwaNb/Vtkp5\nkajAHJIK0ZuSbCeFHMmRzkuMlB64Rth615Qs3y1bNuBNkVdfuPk8oi6xVyz9\nsvSoLt0D2gX0Ts3YWiKj0vHA4nzMKE6ucB+ILLFCB4NYNylQUwUxTo7lYs4v\nxVz4DhESja89zXDFmLIcrnv/carA+Ms/ZG19KXGG0rdA/Vb1tVfndXRnSTXT\n2NLYeaV1YwhksGygikr0YQ36hjim+s9KFRiVcVjr0xigVTi2aWwi+4s86Yu9\nThIl08aEbolWq9F/bQJHyk4fX7NrC/qMazO6ZtNqkIqYKB9GxCrtVcNYzY9m\nrqc1Nn9ipKUukuGK3zWhBQa5VRv6ASY43X4mtecqOeEXdzSFSUS6BtyTnIMo\nICYmJtjxaBUAe8Eva/BsA5XfbgW+dRfdf85d/+/1MP3/c5nFjtPDy3Ucfujm\nXplBzYOegONwBDY5ViYzHjwf4Wvt27yvX3SQ5M2QvRXhbNWsTkBLnxmQjRtZ\nPFYC46FscpBh/4SbppgGkjNQQ7Eka3jsVTTt6jvlx4ZNy0hlMDoEe15/hXcU\ntR+3qX4GsWTMyFpGOtlYl2PIxscP8SWBTgb25xJo/UBPl+QeP9RQFk7sFKE7\nGj02\r\n=8t9y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.9","@accordproject/markdown-slate":"^0.12.9","@accordproject/markdown-cicero":"^0.12.9"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200921154345_1600703036306_0.2908446494806003","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4-20200921160458":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4-20200921160458","_id":"@accordproject/ui-markdown-editor@0.95.4-20200921160458","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f09746daf867c11b7822a35f459395a312875776","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4-20200921160458.tgz","fileCount":4,"integrity":"sha512-72C5ofAJAlP6UEhGbjaAjU1LkNx2An2RQopU4R0aS4WwYCM93e1RDRoJRTSaOoCLRtO3Xy+7ih7vkN2Nk6FcfQ==","signatures":[{"sig":"MEUCIQCLh94D01caCfQHzo6Zi/g227dnBay7tfpcEHQk19JRbgIgQzV4KOLTJbby8OlDvL0qZXX+dkjsIWK28wAe4pYx7uc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaM8xCRA9TVsSAnZWagAAqqYQAKTzVIVoo5FgLRsM9Qx5\npXpTx/qhe7ltPL15T3uSx47hh/CXpq8K5UWoIWd6vIaURQg0DECPBRUTpkwi\nBupDl+qkdga7irJxJMLDAarREjM5ZydRW8la1uPUpc32LOffZWx6ro4NQsHU\nafHZ85o+xO+y4gnJTqX3oadycUdBd0hFV7HFKF27IrTO0k5e2giA39nU4a4J\nXsmfaLggqUmroR8DgIYIACAMjR1qYQWDwqrm/zv04Xh5V32/TZqT9ox2yjCA\nPmu3/5Fsc1frMrDyKIl10qDVKMy7eJ8E4xyrmgyxr7JHbzO5ehXm3mk9tjOM\nOorA8BlL0i6ApxRgr4EOv87e9LeIJ6wB+yovLd7RZRUgfADg3+CsSkRIGFCa\n54oWbnSg9d49Gw1fNQWsECZKIZgjQ9LvDP1GUXxJ1w1+azaJZiltO828TBU4\nStZIEtvswybTPBeoI3sQ3pja2JfQkFMv4eN1r1iyQ6c0hLXwKOyRpp4KO6co\nGJwIV+5ATt/qQQD5F/eqwoNWeJZMNIfx1/ukQPWpAVUUbdf7r4qT2MwX2o7T\nUH+Z+PLK0cTKiLYQ4dTMCd1UUljv65BMCJNi3WR4RsOuNuFtJWk+FG+4S1Fg\nNAPbUbVNEcWKnx/uhW+41i8yAupW0K0mU0IXoIFULih//QHmAD1/DI/wz2QV\ntx2n\r\n=7/jK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4-20200921160458_1600704304679_0.44527506406192185","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.4":{"name":"@accordproject/ui-markdown-editor","version":"0.95.4","_id":"@accordproject/ui-markdown-editor@0.95.4","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"66d66423545e2484b9c472978cc92f5a1a32c0d1","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.4.tgz","fileCount":4,"integrity":"sha512-k2v/SKmjV9kv0PFxPHyIQY7HG5ed1WrDvGy7GpRZlXCdmfz0mTcgI58nDRJ5Z691t0bEgvl0/ShTkmqKkWOMjw==","signatures":[{"sig":"MEUCIEgekuLn0A1WAenN5K2ppRRkJcFceDnJiCtuCYhfhtwVAiEAiIfbqJGpvL7Clta+o86PZYZzB+qruXjOPN6oChLGmN8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaORMCRA9TVsSAnZWagAAABQQAJHWlpOzNCYQX5YkwrZZ\nInGmY1Bsp98KljAsQGDSmsoF0Z32jtLzlyq1j6t+451MOa1pMcSsc1h5jlFn\npVUIrlGvIMTHausgZgU49Vncyz846H04a6XKNoOwTNcdBWiu4mUSRw8m+ER5\no48f6YwHpGfUv/iMen4Q52tUVhrAdRhNaN7udyvrJTP1CBle3GegYRtwkwYW\nur5k1bC5q7i6e0G0h6hip8veutbA8xcNfdPLrYo2UVhZo8FyxiyTeiCh3dMR\nVVN2pNepQ2wy2WMBQEw7eL2QO9gjULIauwtMQmWLmSJhfW5fLE+cvi05EIGn\nYtCu3VWGLyDHlyosi1WIRAZjrOepWrFaWVcc2Fm6T0p/gBFOGc+611EoZOVq\nwKttOpZr2BSMK31DgFNqOx/Z/0t8mb2JwG0LVxFASKl7zIjy90el1qIssMQD\neNl+/gVltw8hqd7XKUY2Iwda3+SkvYK/E8//EY4/B64OaDY1r7zOBEz9gotX\n6vslBJo5N3VROpx7C8KJ1L0WCQ/YkrIXU27zM5IdzBTcJxw2X3OmJCdrA+3W\nfCXQBZqf1ipO6koS0k3xfVA7Cgl3Fia3d7b+lKTLZw/s4lNiDo/e4MSW0nvK\nqJdE/HcYZKs+gQv/eayB6zTOSpaNCSLX7S0yJAmAE9eBSpnoDsMjb7FguFY5\n0Nts\r\n=Gc52\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.4_1600709708079_0.6135982718007651","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200921174103":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200921174103","_id":"@accordproject/ui-markdown-editor@0.95.5-20200921174103","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"ef1e7b8e5a44f92b6690a3fe7a6b8b14a5eaa147","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200921174103.tgz","fileCount":4,"integrity":"sha512-6U+Ypjzi71Vi2Z5W9/yjeiQqQICqWGtPo+99OMhtkFb6GZJ8W0hu6CI2cSFcqDOuF2D02do2aMgMC9PzO7/7TA==","signatures":[{"sig":"MEUCIQDotFaiixsgNphyJbNmR8E/Q/Qx6KyCQOn6eM/nP2OjegIgQLBJ+rX614m98avRHZ16n+xspPUHlJw4DkfZkN8NdYk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfaOW2CRA9TVsSAnZWagAAR1cP/3v6ZncZOiNOFM15Lf6q\n6BSGJttLj+AVkIbQ27lwMa3zVJE7sPDPrUl4fo1wfF2412lanL2nPJkAdscM\ntBWRVubbTqPisHb5NfTssztT/6TprW0RSMOxz4oGQzb+vL0tGwKnn1J4BYc9\nmFSdiNP7I10j8Qba9YW6TqP5GaxPhTBMQ57yJIIX8LKkXn7jwNsT2dHAXcSH\nWHaqettfIBgXRa1If1Qv0yhsGnFf4TaYXTTyDLf7Fqb4lQKuiWk36jUXZR9H\nYFbrwHT5y6gjgviquSufNCWFl9zmHlYJZAA5HHMcDoOPXXz+vSgrNOx5Yx+6\nDRUllGZ/bxZAd462wpnFc8oMV1KvBYhAQgp25mFsxRGegJZHtNliLK4kcx+/\nAP0AEuG55pAYOsTV6WiUfiYXVHNdCdpoPDVaCGQ8t3WePRhkmGOFvZMq9jTd\nt9Cz0iZYyXZ+ubzAnFs35Ibdj/PSeP2x7pMEGrk2rnc/jWXe1ea9CmnZmwwl\nbybRh45Kdr2WdiKju+PRzMBlzFmb7YZH+hIpWcGTMZCfmnFp6+szN++fwNcQ\n3y1qspe6QrvIgeqrQnnjJWkUMR4JthqiOGjZFeEnrx22CYmvKa5gb9K1hveZ\nAdInUpPNMJN7a10YG/BTDxysDZWgYoTeihMHUAShmAK2E0R6br2UQxKXsv1F\njd+F\r\n=ie1j\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200921174103_1600710069843_0.3220533478153069","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928133137":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928133137","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928133137","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"fc0498ace4bae276ee629ffc815ca7f39f83c229","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928133137.tgz","fileCount":4,"integrity":"sha512-UR8QtGY1mBCQyCstHd8mc3/3eZfDf8QYYlzKv6q0yydOsGTL/WvVRfxUnCYspCz3494wyCvoFh/LoTAjV/DDSQ==","signatures":[{"sig":"MEUCIA2xQIRPwqJW3AHBPAH3wCLNJS8ezqJ7YO6olHvQB77mAiEAjbFcSCPrSkf47fNfBE4VeEoqywmfGnerNo+mVPJ4avQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfceXBCRA9TVsSAnZWagAARUwP/iPTFqCdeoPEMCpM6iXX\niPyPpHv6zlMYu9Aso94lnxuJUUgKbzGL6+ceFZpec2Xi9PpLEuNlThf61+ZC\n5kjVdfwC29Poo5Jx9veNZYHdocH+ZjSX4ngxe0ghTZXgB5OBAs2FD7yema2d\njq6KJuB1xT5LPBnJuJndYn/3yybJV6KOZT87JPl8I3gvmAjCER5REnyUhikQ\n7tEDfdszwD6xQ+xmiAzn0F8rC1aev4r5qzxcLDiVDUepxyWrDvFQXF+8PQ23\nOpXABtDFyAXFQTQplrn9AtldqD3lhCDeaisUuBQWYu6YO8eGaXnVQcQsDP2l\n/12E8clUeUD7dzX0aLIRcwqqBzF65RwUZ0orNSL96DKFXrzeai9JQPjrSKdD\nDYvAof6+ZXXwOzf7g8ygnBboLd3CAOUDjq1qjZls6PqoG+4ladWkzGLWxF2Q\ngNqggGKBwzb0Ag1vm+0RuRw24EWmvj6fS0CND/P52z/CL8ZsbfRtrACdS3ah\nzmXvAtJG37AaL6vXgBPkci5lGGHYsxz7umulYtgVaQrd5ff0tKUg/hH7X/Lc\nHr1tvMx4hU6eBvK2a+Uc9m4vy5a+3vGuyk5MOquRyE2N1/Pt4IUX2PzwhGE8\n3B+7tAdEJkLyQV86deghZ0cjjJadKrXqNrFusCbGjr7TM984XMfybd8c8sTE\ntZOZ\r\n=3cYA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928133137_1601299904259_0.196520774674813","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.1-20200928133307":{"name":"@accordproject/ui-markdown-editor","version":"0.95.1-20200928133307","_id":"@accordproject/ui-markdown-editor@0.95.1-20200928133307","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"95c770bfad25ff2e7be791f1b919ddfa1ffa1088","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.1-20200928133307.tgz","fileCount":4,"integrity":"sha512-wZYM20hH41uLCiGMmcMCtqWZhERjeMxydij/uzVrNvDeIUwamoazu71Zj/X2zVOXKjqKtYQJXCfK8aT2paHEDA==","signatures":[{"sig":"MEQCIGO520zCeFhEjVRAHL1nyfQmAyu0+IGIVHaLF3/ozNfmAiBqPyB65VJrzVQo/sOoGVuqopOEv9WKWrH0K76P+Js6jQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129683,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfceYaCRA9TVsSAnZWagAA4wQP/1u9x00G+GTKs/2ZbdXF\noHoTLcWByn0jrQzQKm/Wn3u5MpvuM4eIUpTuKhmcWm0YKCJzQj1oJwGPQAz1\nbkAbbQ7zv6kgOEaLv3dExf2gsNBhgYsjET6mMBbpZDnexDPMnx5v7RFplZwL\n+gzcYsWS5w1JzqCif8yGbiEovUFqzFdhx+xqUyr7FC5k+6pUvrwI+0Ov1Tbf\nuXYuoIW4doyXzK3VEjnv5IcoOy9Eililch2Mvxd6FQ0DOFwTuolS23JXI/D0\nrQZH5yM9GdIcpD/k6XS10ql1lGryqbsjCeZ9dE5tMxQK9Up6HO8AjsyZhKeg\nHZhy41mDv9ytULqwuhsawvSFc4oi4ZtKXF3ITqj2bfMcsaTcGX67qyF3gNQY\n04K6KtHzuLXeRkk+JRdRrOvJSkqXJdBC/FQGXEmCHb1tIw5hhJZ+eQ/fMb8m\nsy850nTyx0zhsw/5JzUheOe9it1dC8XHIdqBSMcuOVHxIZ8I6LuNYpMvKG0V\ny25VXNrSeO2qUTDLVfqK0p97G9DGchqCRbDe+1tzc16ysFiyg2g8MmTqTJLl\nzn3Eip2LBUO5yWVAL70tsWIOXPI0TXkbvfXaWlBsV2bMAMwy7vycoDH3EUL8\ntC8xffXIBcmLS0pehbzgyPlMZCb6Q/t0uHWc94GUTsKJbkUWWghhyy13xz4A\nDIcD\r\n=M4MP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.5","@accordproject/markdown-slate":"^0.12.5","@accordproject/markdown-cicero":"^0.12.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.1-20200928133307_1601299994124_0.8704619963745197","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928155747":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928155747","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928155747","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"ec92b5f0631c845a519d4d55f01f17114f50132d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928155747.tgz","fileCount":4,"integrity":"sha512-fyjh2bcPMbA9CUf0pOkTJN0qECmGFB0GXs7Qkn2o3V6W3ZXnKNArUs0/JjKZ7e2zD0fuhbntcfpWiM2iE+BjVA==","signatures":[{"sig":"MEUCIQCNZRVXgfxL4WVgVLre4IjT81PkKyrlYa4WmL3PnmXeUwIgYkGIUrN/iW1bplNrgr6IWX01gYy0mGu9gTzSrERGm9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcggECRA9TVsSAnZWagAAMzkP/RzFYtPgEQr+SKHqWFkL\nB+ROs9LznuD6rd9UnEe/sCEVq3P5J1OdDbrJkZOhUA6qg3Be+rFVk2gNbiba\n0SZBaE1+ri5cb5HLS83Lk9Z84y/8gh8afGMr/uNEa4oQiMSA+WQmQ2Mpo1UM\noOeEyilA3BUb9Foh7m5Vr51kqmWyO4Mw4L+7alYzq4M295SQKNB0PCHVBlWJ\n95vFleretFRlGi2+ZCr4Me0hEY/kwWCbepixSgZUVJavXbTH54TTDXSJ83ZQ\nz/mO2+Do8npVcJtVFoFZwTt8VNQvgpI7SaX+medHda3NKfI0VOyejfzhQvyU\nDJh8oYcB6BipmIDVgFdxA+xY5EQtyylb5HqHRX+vh8CJfY84konzs4s16Z4u\nRroa4o0oU/aNI8GtEuTY9QZ6j3okhVot+LWo7/IPEkKT9vlci6+AkjnXppfg\n/dS0NZd7xJlMJp46lxd/hnpY70uvzMAQHgLTnCGjQhoviaVQAceSlrYMRBVL\n9oD5Gc77Vj7KZrto8l2wcVrjDY8IaUCAKGuUZ6pOO3a/9QWbKyQfHbgNQ/li\nmmWWMh5IEdd52XHCN9xpb6VPD+e13TCmHu2Wc/IaiXPtMEHsXJ0LhKWnH26b\ng/UfZW1LKqyA+sfXQxrLbZcDgcu7IvnRC6TG+iHLI521f+D1xQJv0Onl3G7K\nGQLp\r\n=XX9o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928155747_1601308675692_0.0975328679113483","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928171510":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928171510","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928171510","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"4a86efd85bfdb1a5e196d7128d6d31e30f953aa4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928171510.tgz","fileCount":4,"integrity":"sha512-KMLohYcbrIHIIpMpI76C6cxiiDg0RiYUmbBQsrRb/GofsSm91yNmvlydr/SPR3Hrr/BUr6yLLBI9lTzr1luR+g==","signatures":[{"sig":"MEQCIH76ioeVMMDZ5qg9DWBFTJ+J/XOTDB2FnvTt4DwMUkjnAiBsz0FvmRFv4GsDluDc/0WXEyi7Wej383mih94AKcXK7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcholCRA9TVsSAnZWagAARBAP/1Yz1mCgX+JoCL4glc+g\nejWB8BxB3UTFhAgmUPpwF3fIaesayWAuKMu5OesfINiZgdhwXQzqx3UOUHic\nE0+n9H04SVPBsrQoPUBuzimrNDn1jwzX/v85voUUFjTMzDZL7AvW/jNuAZfh\nodVcqSCZjudC14WaO+edDhel4DgEpzuGno5gXaOglHVvzvHfMNXK78NkqFY5\naD4SngjN2p5nP09OeUjeou6IKeVHho8XBFg0uSD/4rNO3ut+S0PCcubTldl2\nMIDzeSpfowKNpkFZkDUEqgPV66EMqGFS6x1DvBAMynDfiZFGnM9mhtcrTPjh\nnPVXEz8eiNVm4D4CtsdgXnyTAHC14/SBroMImQjM0y+pvi4YtAKaZdLC0Z4c\nfUM5cSdu4XDjoxYTNQ86Nn2gdPM4VP9LuLk/Ih8pT3zsdHBEBMUiIMzuL4zL\nLra6VitFUjSdhfqUxk0I2T4uiADA9v9T+MDrG8xZQ521l43mY+0xjI7blZFf\nJEkIgtGBiYmMdoAeL/NpEXC7qP0Pl6xaf+1H+zU7WVXPJYmc90+Ai99imQQ4\n+85irOPgVtlfBNlpqsOzJnSPXaciEUo/2kHoEbmZy9t7D+DXekgdAkVqdJ8s\n44it1tlcyFO+S4JpMEk7pOyrOqCD+37gw2fhWsEycxgoly7ThZADDFOg2+nB\nX+ZP\r\n=gZvt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928171510_1601313316940_0.510880758020152","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928172817":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928172817","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928172817","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"3f881b7679ad2f50821c4d7afcda51a74b6df176","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928172817.tgz","fileCount":4,"integrity":"sha512-yr1XJiyThZCVCgRT3bzOM8CNlZL4lu3geXfe11/SXoLXenOKLk5hNVfXFNuVvhsn2TDIBPPufBVz2Kz7j1LauA==","signatures":[{"sig":"MEQCIACCRPtY1WuuUQIuHefU8JfQstd/9ovBtIkaVyzh75sUAiAmYZFk1EUadElEUVP8vs+UVE/+RBJlhQ9ZDwvqvqUwig==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfch04CRA9TVsSAnZWagAA3esP/jar8rP7vQHM4pD1k66M\n89F4iDrQK/NjLK/PenS3Lg8hNkvx5B5yiT/4oZUj84CwRJetRGLBF00dcWWD\nnzDTN8tuEAJcJxjlWlhzeHebZqSLGURjsWc+8JcXwI2jkhGoVEK5tBsb8wRy\niDr9SPbZpRhvyD1kqBTDJ0lv26mIf55FsOtYMD3YN7K84C3dRRGWcCQmyOGX\nuPitfxMFDV1MANVvtS021CBSv5UgWJThZcG4okZCmTRU4D4ilyepMxBeTclg\nO6uwatn5bWdDNsIXQ8PT7XTFYUOA8F/D65tukD1lCQLKQ8SkuhBUECLUbGzj\nG+PF2/T4W25K9VplgUKX40Fmxf2i+UJmhnD9sB4fbFQoxofib49Q8Do+k7gA\nDOgMYbJ6iJraMAB4sTztCUeBCmkye1Sq6FSbolK9VPaNee1ZgZmR9U62K1AO\nH7XK1QwldjEFDT2xjCzEuRF0iBYxvySx1pgjNMHaXBHc5Ro8+lDweRHVY7+d\nwZGq8xZuXMWlgRevV/FVyNxqtVJ66psZfEN2i/sH/9v9p7lqq0Qho23PEgEm\nLemVQIAK53NP0OARWVBzdt+r24jDgddmv+Ve00ySJDJEhzkrePgdmn/VfVVP\nlk/e/gniUMqnH5FudnFSX2G9MiyF+BmeecjogE/sNc2dsC3wqP5Kyo90iSoR\n4buc\r\n=6uEd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928172817_1601314103856_0.3834069031567857","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928191006":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928191006","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928191006","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"b050293b1abf9e25371a8923897ad55f99324385","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928191006.tgz","fileCount":4,"integrity":"sha512-xt/lZLty99jgIUp0ZYhgWg89bvR9Rf3YurLJVrxuZBggwMF85uWL2z5YkDiZD0cUhNdAM85/e2gz9Pw1zA99yg==","signatures":[{"sig":"MEQCIFRF9Lu6boL2cJ/OOG3IvbhzUTfLAU9D4VXZZw4SVlXoAiBkMWfMKe7DUG+07ALQ0WnAqSYZakX3z+JASArhCUG5hw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcjUZCRA9TVsSAnZWagAAvsYQAIirQ0TV46TjGXbdt5iR\npvx+JxsUYvxjsLyhlQnGLM11HZRr68NgFm6yswpCtStN6vhCTYgZ8ZhDKOJx\ngp7A7/z7CmJ61bOQolzdYusUE0kM4Wt3wKmnBciBAPRDRPFuTHAAA2aJpk/D\nczNRpwEtSqusCE0bXqqBnNrlyBHAIbYFeR+B7zMvSUPb+xDk9ZLOpG8nG3PB\nTOZPDkdrRIZBVnnDJSOH69Bk1EqR1EGKoIfuEiNYnFnAvSfXg9JTjcV5TxLd\n24SI8d3kcOo4FAwBVOq4aYf1cgxvED4pDuG2u0Xb345T2I+NETsyZGEIzzsY\nqr2SqVFRsufIZ4mTvYsLlW9cNYNCJcDgELw0vCF1Tx1dzESUGRUCOXjrt60I\nRD01b6fiBo3B5oKeg4nHamoB9jpVyqIdrd0knjy954eH0YdM8AiSwMULPoTx\nYuAqg6qcKdtHPAWHKmeDD4oZPdLmtCJ9Sz+zHvLgHxN0nGVlC2ujce0XTGLA\nxmferLIpe5yLJRx6SNZx0WXq8/bVQYCB7i+CMvCqyr1ZsNViaKV/gye+Hdsm\nM/+Cz8LHSGByU+7F0u2gUYcpgJc1dX1UthKFqzs7hgP0Rw9pEj9FAnfxAxU8\neoLqqvAEay3xeqP6fvjo9o/HmMW5n52SvXMNw32ZT0PJ3T13fPf+pqm5Bjy5\nag1f\r\n=y0T3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928191006_1601320216895_0.9614639540746621","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928224825":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928224825","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928224825","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"2c3e7723613d0a4d80c4740ce3c821282298e62c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928224825.tgz","fileCount":4,"integrity":"sha512-FHpPmoAsE6N3XJusyajv1StgBqWzxrfl9uTQk2tcTW3xcKIqApIKprdAZ1+ElXKkr0jKIJr3jVpddpjHMAtjug==","signatures":[{"sig":"MEUCIQCFwjzcRPxut/qTjPoMnO5CY3qBIOm8eDAqv/JFWpv9/QIgVALI2Ng0p8mfEHz1rRMWr0IRfFFQfZxSGQ47fVzWYpo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcmhCCRA9TVsSAnZWagAA/joQAIS2//tSchZZ467lOC1E\nh5f0RLx+3EedES95GI3gYJ3wvi+fpj2pNBeG9c0RpHQj8IZ2IYouMFjACTmu\najVb9M2FtMj9MpLmCGTnTPaymSAJiEWpAX0DxGNgnxT50y5l7Pb2oheYumkK\n58jXYiRcdaOqAoLvnIN83VATDBWNldaC7qncaRbin1vZpH8niGkb80C1Kcj8\n+PWx0aaQyyILwcC8EPMxavrOGAeGNqgFIiG7vVznHyb6ahQMevfrfSGxyZxZ\n04lEe+T/FIIhW/R5y9A7GMZ4Py570cHk52j/8R2XGPhS0/J7D7kZZe/O4UQ3\nnRD//XSBg2qm9i//idmXsACNMhyQdfTgB4/BTRJTqSgtkD/qlU4/YDn/D9M5\nruPH3mumS407/bOSk8g9AymC82Oct91UTIpco3edEPjAR83FCGlLk5jBuXmT\nWCwwGt6d/8dmVHfwKhxwSrkMDG10ddb0ndjIO4uezN1c2IrUhrYppo5xEtsd\nv/qsSX5w3avRics7MTGfyYHxVKl84dIa1oFQ0Ky+VFbEsFRmXfKJR+Up48nY\nhqbcth+BCG2DmN8MhDeZ0qf/wr3lxNEZRY7+hKCZc5mZgHu0COps/YMu0Xr4\nO13R6HaZGDJW9dXdcBUvC3QFzcJk5RK7AiVjAmUi86lZXZzKW4BhYi7lDwUf\nL+6m\r\n=7jvU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928224825_1601333314346_0.6922627086236668","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928225934":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928225934","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928225934","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"852c684f31acda76c30152c59f668455814c64ea","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928225934.tgz","fileCount":4,"integrity":"sha512-oL0/pvBRLkgkbW90TEl6fCyQxFUDE167ECnjG5A4NVifUCTzq4C4D40LS9Ry7fh4HcxR+UhhhVe98udjp4tMPw==","signatures":[{"sig":"MEUCIQCixbmTbBHKV2BMe0JZDAoUNiE/HdWpmdf25ewfzTvlNQIgBhaon6zTCPdi9MEvQArR8ZS9mJxBzsURFv+/Dc/R4bs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcmrgCRA9TVsSAnZWagAAahEP/iSo+ds4mPmWzHUdS2D8\nwXqtZ+OGNDTvQmnAcRRJp6g18hB+KEV6ZMLvx/KxJ8YsxWQUQcp6nNFVmi3o\nKPzEIEdoiBmSKuNBJmdXOiqGpz6Rmzya8VCYbxGYBGtGLW0cpNK0U/ug4vGD\nKgsiqaBSnRvuyZMbiIlXouhzMSwH3XWszMioa6ugp3PL3f0Noeyu7m1rOx/5\ngdfl+tWRJtKZBEuT2DCJ65f/i4eE/RrpyuQikmjh7dwe9btkPtvyV419l0nM\nIaxGosO+ZalSnNl3zuP0YN9vP8CJFrxHzgGUVPhqO7Z9z90ZArdCsh0ts/N9\nrzeSA45+4lj8Yrn3SY6rT7rZQao3b49kAG8Lwjd/v7zcepEekRvdwmMFaCir\n6xn5IEMKMm3eSHC0lD9ecdIaGxePJlyxTp3OdSukbi0ta9mGY2zUBLrLUMbw\n1c/0aAsJwBnmq4bjcvY+/jzKm9DHSclYQD40owQeKlJoS106YVCpv9T2e3ZE\nu0QM+llPm3idpdpCe1+te1GRsftWNHK6i1RGcFBcXw7N+tQDJkvCeo4dMOKI\ncbui/o4+/icV6DCHSacwlBIvJPjzHclIwYkqlzhj81TGW00/ZMniGak1KAXp\nyPSwm1lCq7a3SQNZtH1zQVJO5CoaIncXq4RwBNYmssa6jO/GVq6AlZhJH7vT\ncEB3\r\n=ExWB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928225934_1601333983636_0.6984719895487508","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928230500":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928230500","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928230500","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"b373aa74da62b3d4b54db40b990cfbfaa13d960e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928230500.tgz","fileCount":4,"integrity":"sha512-57PLT23QyP8diwM/xKlqOwbmsKFMPNhoZvyGV8FVDrl/93Ub9akWQgpNsgZyJCCzVfmQf3qZoPFWMxVX9BfpQw==","signatures":[{"sig":"MEUCIH9ewaujmTg9wACVfY1GPxJ8GuidrWzhD6JnGt3J3Bh/AiEAqIq8thZuLA9PExA87vN/u8XndobwLgR3QeJA6LKpR9Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcmwoCRA9TVsSAnZWagAAsCcP/3AGx5Hb9EWhiU0SChGh\n4Dy68KT+6MLRzhfWsDeZhKDMMwx48+HnPk2RkwStfYMUDqwb5M9NyZWMVARk\nmNVsWZXLS2kwkuhTRL6hlP6l7u8g96AVtTYxoVHqFNzloPYZaEmV0TQvsBl2\nWOFB7K+07LUenhdIJxyqdeuuWplWiiWFOuWhXpwn5AwKS0y2to9Qq8YR9JaC\nDQRTTj0VZOMr7U5BvDR6jnU0zsYdOXln7trP5XBe2u9uf7eq6+CLUPSAnd4M\n7IbIMTKZwm3yURSLKAQUj6t1aZXwoHAQwj0s3L2RczN3oibtRXp16QorzEEU\n1wJ0YS+Dhm5ZZUW2WB72Z3wxCqnMGymxni4ynKTbLxMxAj/I3V7jNGAMgTzn\nDR4bfz2lVN9LsbAB2qXArXEcYDhLGQRflZw7rojUWnEHQnRzNLDPlAeUKDM4\n8VcZV4+Bd1mS5k7GZdcqgWf2svdgtO/Li9J+Sg7g6osSB1JqWshlA3sL653q\nCObEE0HOhLfFnWaISit23kYmBVJOf4TMjSf8IqNe1NELDg4cfyttMbQjoQex\nTgHDAdtKKVO78GUKXRj+cTisRhmkM6bi5Vp/DSnlRNgMyeTMBzDwO2O6thPe\nDIiIICjfuOwsylq/txgHvOm/D0cTT4ImOItGrg2eRJdhOboTW2SPxJWxo0X8\nwkTP\r\n=Nx4K\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928230500_1601334311875_0.5252749347587087","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200928230609":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200928230609","_id":"@accordproject/ui-markdown-editor@0.95.5-20200928230609","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"dc50cfd4cdc025ac51ae3a59a8dc11bc9fd897d4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200928230609.tgz","fileCount":4,"integrity":"sha512-z3nF26E8yN1mfNtRXjQC4ZH67Iq/Kzexu20JjG0IxJIPWx+amc2GSIM+b+3YtCPbaNt/OVFwRMma3hYOh2dGTw==","signatures":[{"sig":"MEUCIG/v/FE/PoA4J86CVXya9pQjeCunRGiaX5Y9UWADusPTAiEAlZQp/aZL+uzIbdLnfRTRGn4tetqb/YqI7bHwv7khzLg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfcmxsCRA9TVsSAnZWagAATkQP/A/3BPd5FOJfuftpAg2V\nZsH3vt7iwgLhexhNAccQHlrFYM9ttnbrdbiHiGAtnVf05AfvtTj4hynd2ALw\nf29QaQ1n1GO+BkqfSs5QGYq+QgOkIEATlZbWYrIHzzwCn6RdKdFv0Rb2hJiC\ndWsXE4SIxKlDfDkmxBKM/rcQTe4JTgRsAVESmWMuaaMhdYrpG/dNZCrfZst0\ng6vwwf3KaJilH7ysPL5Zl+Q+thRS0DlU55k73nXZervRW3kFgXrQVbk56Cz0\nMCCr6+PDSlLr+irMWrzUSoMYw6HYGd8a5UgmN7ULvDjLoisLlOXiVxG2vgP5\nQ7wJ2dF+zLSeiuVaqclzys1uothBUZ2YFAMIE8YmigoVqbIkwvBfJ+9KoyuC\nT8cJX0Pckmf85Nqe1VAnXXqwENJ6RBLtilJaeXicL284EaCeGwokpcBugLO/\nZ6IoLPCTqW/0EEOvQt+v3CxNqyRF3V/LFbDu5tBioQASFhANo/6IClgrgpI0\nb5XJFOVj+T/MHbmS3Te6CX1u7b86U0y35IKGyT3mngOljm4BLGOItJoAm7hd\nhY1VurDCA3ZltzjzkDE3eYavLLOv7SoV87oWaPlCYrp2zP8kHb6M8FTGHSnq\nhOGC+lOk4ovwAgVWgzUZT1Ng/AVR3LZavDrh1d0FL/cwT/tvor0ryFcWets7\nIiAy\r\n=EnbT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200928230609_1601334379980_0.6533692329751422","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200929135223":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200929135223","_id":"@accordproject/ui-markdown-editor@0.95.5-20200929135223","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"4403ee05e61baafda9643a2dae62bca47142f7e1","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200929135223.tgz","fileCount":4,"integrity":"sha512-uVAiBdXasf3cTvJiVP1u0ijyv8prtWbbW1y683ocWnpebTMW1Fu3t3hYDw670HuzvmqQNYw8p7LrYcUre6eh1A==","signatures":[{"sig":"MEYCIQDs94Pq9jW78d017eOS47eQI5BQehqFHx3FCFpxw/kgzAIhAI7bHvVEwFzvu9AK5XJ1Wr7PGmTzXoGcVdT0GKJCQ2LS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfczweCRA9TVsSAnZWagAAQ4AP/jZSkBURFSBXwXwUG2Sd\nyAdzbIIwzXzXgi4fx6gSedqxndt+Ficcf/oQmfmzhwA/jpsDkiOIpmxkaA6F\neDWaaWgoVGd6exqPqfhPGRSWBVqT1f1qOM/GARiA7FzOsx3QXjtt6lg3GWqY\nKXkJHHpwsZ6WjTHYzybR+xYLmaauHqFpyRVnvuCiui2YJvC8EC3gtUigHuLG\nPTzqbj0TpLK5HRvULhMFJ3vJKYsYWPVMhKz1w5+jftjxxrGakRGPd0ZpDqpc\n0tLjuwmVv55f6OU7TMygjEjK0CyueFXCp2bsz6/MYinXQ2vmtKmnQ+YIAOGG\nk8WFsd7sCuECVHGNYRHrd1D/zZR+JRoCiBG2L8c7h2J7VX9OC6rDaRZlfa5C\nGU8iEEFc+QKmqPieapAAPNhll78zX/p26DNfJZsqUcv5PgTB329FQ0XfAloV\n969KRP9RNM9XfOLtHunbyBUqoirEObBH1MyKMeLqrp0QFoUW2tN9XRmn1kXm\nC3buPPpgSCJ10g/MWVfjHBxPRYlg0c1nFw9xqb1cclv1FLVLNHgjN9a29cm9\nJHfxB+WLIRShXr3dsFu7XYIDr0yMSRCe5zEPtkM14KTXCufwCQtOWz+csQmk\nRTsnid/URhhxm4suUzcZjPDwetGd/zfVg6X1Dvd0lx8PO+kEK5Hh/lz0fNlA\nRPe7\r\n=jqX0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200929135223_1601387550332_0.4268149306922526","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200929214249":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200929214249","_id":"@accordproject/ui-markdown-editor@0.95.5-20200929214249","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"3525cf95def331fd0d88c0991ad212a55fc73381","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200929214249.tgz","fileCount":4,"integrity":"sha512-Vi3o+A/4aRHPYblNk/IhbyWOPQ+wH33XvLTPDgQP/A+S947+eOn0yRzgKE4ywnBXaUcAL4ppS+WTi53BrYKIgw==","signatures":[{"sig":"MEYCIQDqIH7V8Zp2l9UBNr5VnQhS9C5SuJUGXRx9NO0J5nvNSAIhAKr7p9/hJzRX07/mrYEgv+wIUl1WZZXruM6mFqAfNF0j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc6piCRA9TVsSAnZWagAAo00P/iKHOmwBqH4JMeHDuvUH\nmBtGDH6Q66fY0LMY1JQwF8bRvqEjFA9SjV9iQjukPEi2qeL6OfQ/n9qYcdrr\nGczV2AV2/CWr18uj+E33jwXSXNpc0//BMpI0hqR9ctIzQ0rps4yj+Z8tghDo\nroJym0p+9aOaZFpY0RHKN8MA2FrHk7Kp65VlIb8libC1Z+cQACY1ZmV0gpJx\nOCbkZHq8GBkwxvQEDJm7VbT2Y3dSGcSDVqajB+7+viq5tYYmc/EIEAaIzk4M\nK0CUW9DPNYQWSwPA4RLe9+92h1TWoquoK9Pv1rqWOrD3RXgbwM+Bj9EaOv2F\n+IeF3kV+41K8gBjW+QYylYjrNKahDfcKS1mEW7ta9JKfNeRxTcNS/EoNVIN6\n8ZePfswIr7a/Do3e1+PQJbAcOA9ChvGvnLlI9fIIQuXOUq2UZMh5Ro9NjCmz\ndWG4ah253QJud+xrCjidRqs3hMrVPMhA5Oz8bg+bUbx1xDf44NCLBiHXepmH\naStVmEbXFULKD5cScPYjxw9d/kJSApMHJYtULKx5g47bnQWOTFd8xjnZXhqA\nsod3GyggoODWNwgBdkpqFpYVHmj8aR0I7+k/22ebcg27FCqN2Zg5veNlVXlJ\nVT1m6+iQcsyDw6R0YQ8SK19PgkFKRoSUDeMJkbjb38FB2XfiBybJnqL7GQLp\n8RTw\r\n=QSOP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200929214249_1601415778315_0.5523852382268213","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200929215804":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200929215804","_id":"@accordproject/ui-markdown-editor@0.95.5-20200929215804","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"3324cd0f40bb93993531cf7553dcebb5792d147f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200929215804.tgz","fileCount":4,"integrity":"sha512-zzBuXUViN4OX3dBw9IGYHyVHD90s0vwHERlofvfs4yOKchRfjWQ+QtjozYo0dn5b1hyuMZExNRWORvnIMGDItg==","signatures":[{"sig":"MEQCIFHEj/8VcpYLoRh7i90s3ncFi1SgERZWKbYwCHkRhiQvAiBQelyWbepTg/TxrdAHKA++hReWUEdaeDv9+vo6z4SZHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc63zCRA9TVsSAnZWagAAZnQQAJjy1FGoMIrSQ6EN9xCr\nNqUcR/6hfZC73AuE9T/ctNEqCZbzlkOmxMkPFjs1B21XCqaOTGHbMDRUSSF7\nqRxjNc78e8dS0FiUKHEoDWsqQXF3R83Hm96cGgIc3MXpZ9lV3zZxkoQxJ2Le\n3vUQdxaS7LEQhuN0lL733FxdBZW11zr9CHcJWgss3Z1ZbfA6CdRQo0IkZ7a7\nK9bn6anWZ1hOkpZ+i89EDt2nV6K+NirYCzRFWf2wRJuEAci2C6cV8qL6pgHJ\ngdL0QsQ2XZwbmF/PlU0sR79JG5viPK7YUl1/S1am5RvYmaXD3dGb5jmuwoih\ndwtzMBGj0877gJbETnIWommAfRDtGun+EN1kWHIcAgMG7u+payqNTrVP4PTI\nat793CT36hZDj3TPJi+JR03p7LTYh2GQFX4OaG4/u+3STbtIZCP2BARurPuO\nWf4kxqizg37eotnNd56wvaf1yIpr08fM4Al5aT6uVuVCgjSL/N+b3t+NHI50\n4m/LVJ+L63d2av+5mZRkTXV0vUrNj7vhkwZp64LLfxo+hjtIfLvLwWFdi1pm\n9Dm6W/+VLk9U3OK+OrtvqwrSRZvZeZ3KmlwAviv7pQfvu5S+atLkGQoRnk6k\nBMGDRK51foFKk0koUv8XFTEDAyBgz3k8ftKjh1FSXoKj5gi8XktgFRXmhZUD\nudMB\r\n=2X5f\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200929215804_1601416691423_0.18927778137968265","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200929215918":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200929215918","_id":"@accordproject/ui-markdown-editor@0.95.5-20200929215918","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"64824f42934c4e06c4b4dbc7c50985ffded913d0","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200929215918.tgz","fileCount":4,"integrity":"sha512-nn2c22tEWKRpPUzAc2FNc034RWdAUsszRlKAmoxaeui11AcTRSi9Ap4PbQHyxKY+LdBpT1E28a2hOjmH7nt5lA==","signatures":[{"sig":"MEUCIEWQwM5KEeM0tMts7QPGEm/g59tJHq/lKDmH15988mCnAiEArf6BP2ZtgD762mD9p8eJDFSGP6i2MRPQIkXO0DWXkFA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc649CRA9TVsSAnZWagAALTQP/jln6VDf9gSWW0t03Xw2\neIap350e0rnyft6IyxVCi5hnrYf9hUUxxZoxRw04am24pbS+FD5MTM5yXue1\nYFQ+UwrW/AvPi3tcdZbhNri3DUAai17GU2Gl3HLbHt4cDRgSAFYKthERGtJp\nFCUhS1h8Yt+imzwaUack/IhQGKTp20j/+m8jDIFR8KHceUAIYEYJDetrgYqv\nTKwYMFOpaOS3FriOW/xs3xB30WG5u1QEL5Veqo8IxX9RqABxBKYlr2ptbfwV\nqsdra0BjCVsVv6S3iC2jWncJYf1PgMEZ0O2U/Vk9wdPjwRSMlo8/FKrYmwSz\nbTtdN3hPKsz1jCECUdAQG1tb/Xtxnsvc9q5p7PaqOpfU027vNrRgmW39EaUD\nPIR04kNM9xOMM2R2Ve0+5EQaVoZA55kkrCHxKlnOOfdJes2hF8RwzvObXl4c\njc/c2rwBiwZ2/1pCIifp6US0bjq9VPW2L67znLB7a7SQACNZlH3sxQknQiNY\nEXG45lfwV/N0WA+azKwRUcKU2KZGFHHr+OHkNBYyPSp75hHHuWU89phkd7b6\n7Vmi4O6I+Fhjz4Pjq0J09cDyye8JIj7kShyOqi9Lr5T/b332XP2B/u3ZhDh8\nKpr5uvcai7uS9bCh6OQ6vuNdWqW0SJjm8r56U6qWxiOWXFOqu9FMGJkdGu5f\nKhAD\r\n=a+0p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200929215918_1601416765471_0.6337208029309582","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20200929220348":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20200929220348","_id":"@accordproject/ui-markdown-editor@0.95.5-20200929220348","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"a55c3a17bc47f8a0738a5a15bcbfebb66c539cc3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20200929220348.tgz","fileCount":4,"integrity":"sha512-v+p2EyFTJpHzRVjWKgBMEk8oQon5xf+J8lYpjQJDzk5b6bPNjxOOIJL1W021wzQj3p7y2zWgGBX9NKcaaqAJpQ==","signatures":[{"sig":"MEYCIQCQXQGUhZa4Rua5wemWaAK65Cp8MLP7HPDjfkE+SGdqkAIhANR+r+RU8oToOMdzUX5i9IHbHI8VssLdETQcOcqbWQ79","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc69LCRA9TVsSAnZWagAAQH4P/04rN93fQUHBXI/ZlFcD\ns1HnDpIi6EAroTUQapMgtfF5024gceW5IUrYkr5Ui14ggVZI4xzSVNW48LFX\nnbdOxcEdrjFpaiUOAqYRYctuIZEuA+xLKLcNemfnQuTvuxCht9T1jpTOTNxZ\njFZ3Yiydtcy8nKg14p63ERK0xF6DezoqIxfMhPbYE/bArqsLQQJYM0XO8hMa\noGdXdpvPS1HuplHW5LatxFzkBF1EiM1hyf/j56gfZIRHLCvZtBJVpTLxRJsP\nlpAv5HAb+HsbaCWUbrS4qzSM2fNos4YTm6Xe9Z2WQQCwSAUZX25h+TUBDaLA\nTFrZbaoJ6C4WM3XvCd/7csCXvlytrSNZ4AeH++gHFXX8HRSlhxHgpLafYGjD\nG6UPHkzcgqYbg4HrOQ/8vCeVmGGFi+MN4wC399wtfYpkl36FyHeIKVtHBtMF\ngW2hyNo0945nuBZDgMYH10U7uDvFlO60M2v5lIfBBsPn8CPgpo548+ZiTL9/\nmsJ3+6uE6uZN3JqH/xVm4R4Az16ckadbq1yW3Xnx+dugrH6NheXTMztTvcrL\ngvW8efPWL7+tz138qqux1OcPb1WDkF7+DlE2s0bMpvAupZMgh3zTCLGcpIzs\nP4X6J4/Fs6yLgPtu2JFco0GHsji5dmkSbsP+dmcL8I8b4Ppnq192MG+lqoRe\ng/Wz\r\n=NcUe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20200929220348_1601417035412_0.1765435642032267","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201001153745":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201001153745","_id":"@accordproject/ui-markdown-editor@0.95.5-20201001153745","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"6e5a162bd155617c5bb99cbd8a911a81614ff2ea","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201001153745.tgz","fileCount":4,"integrity":"sha512-gUzdk4K17I1caaWknuzzU5dP6STU5xL1clCR1CaR37RM224cdV+8qXLNwAI1pxTWuMhL8tq7no5ZWdocNSWFDQ==","signatures":[{"sig":"MEUCIB4fEJkpkML+DjoPYhzlwNb2mudZSggj2jrNZuwAQb+IAiEAj/RgQdt4+MAniX2XxZwxG0J6DWzI2XOSD+kl8VWvewY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdffQCRA9TVsSAnZWagAAmpkP/1OAV+w6pOuSptqJP2/Y\nNTO7B9+x41PnUR3deoa9gW0kxN4LaMkkgunm+GFwOVqAkXeluBBQO6f8ffXu\neKOGl0e6a9tvzgq21PS0H5+xGTJNiP3iv9mKtoecVWrWtzgQdbEz7My4ZYAS\nJh1re5Ujahcihy2qmC8Wo3LthAjmprKVQ3VmAkCgVglHMwpP2l8KSH9EKkQe\njvrR8kQ/3EWg9IAaeN8iidzaK5WdNdaX9N61kuFD0e0a9r9V7RfWNUWvEJHq\n6zcJihzyEu/6ldv/TCNsGXQn6RBg2dSftPYwGEsFfgblubBoKyxxH1g2RGUs\nwqXlh32V4A9FX1PXc5/qH6x3GrJ4vwgbTLvKy8CzQd8WXbvLSN6iP6VHhQGv\nyp7/KViDIPbI27Esx3lpzq++f976Wv80E/tldvkfGUJL8kh0AuRzFKDIdeQK\nKQX6ELMmYOVi3U1TpK6NzET8sOdpWBC/4Egppyf25yr5jXBrLxOJQXupnFa0\nVkoTftukYjBqLTvbBRk5zUt/epqdukcMRxzY2JAtmUoxtryODOVD/LKOH2zU\nHbLa1PzGRCUcafBePPhyTnrIual8R6duPWC+yGo0kXAP5udjmhCpTbxYfYFA\nCn81fCsUwahwIKyfV3yQknYGprbtx7IP1OTi96Olybj1OxQUcfK5BL9b4mKi\nLCwg\r\n=933H\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201001153745_1601566671731_0.1752698224805629","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201001180242":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201001180242","_id":"@accordproject/ui-markdown-editor@0.95.5-20201001180242","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"743551a27f773d8c3d6700be5c736f5a05b5f81e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201001180242.tgz","fileCount":4,"integrity":"sha512-8q2DET5ha5OJz84o85Swv839ZN5y35HypQs1jFKtdbNikNDODse4aZzuxbgcleKQZvN1jhtwmsPbi+oeYu9PUg==","signatures":[{"sig":"MEUCICo3sFumkEp0hknSNptAqn+u/X7G0CT2VME8S14l1olDAiEAmyXfbPCgPUUvREOUWXDr1Kaea8PBphLmLLVCvgb4VQA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdhnLCRA9TVsSAnZWagAArCkP/0CZR9capusNb4ICeajk\nCM5621hPNC6LIQHUWiz/PCj0KGZR91RcZzQ2VlQXvUbOdMYb3vBz8pIm2Odh\nr6S/s3auw0oFbOKbDCwnJEQIb4Ze851v2S4wZI6NXs1j2KdOmshr9z//81Eu\n1S0/UYPey2n4tB6BnYa65cvMNMilmF+k6+feYzq/2WpZhz+zVKzgEMBpvxQo\nSA/cdQ5XkN/u5j6RE8d4CIA1zGN5E7PUZFbVfsTOX0NYmgmqAsY66fJhCmWp\n9+hWMCztqsf/mndCbQf3eF45Sezob4PKr/fyhLOuVZ4g2GLTTR3DSCSEtnMn\nl4qJtb7N654c7P94snUQwZn9GAAmS9dXdJ5KMVHcSYDm/0Wl1+B90SWwuIN2\n93yFpu/WF6U/9/zciDt5LIZFROkbP8ElYY3DkWafxm7Man35nS+4N/OVZMOk\nNnxmJA46R1EYiezSe+S5qbEZQO1bELKZ4oMeFeYcBad+mwEKUVnhYW6caGDH\nFJAm0XZfPd3eMwafga6uf4IWY3WrL7IYvPoB22S5mN4iIEUVpjujDWquCpWv\nk6tcGCQlLbdAOYBIAYmR83KQHvi4p/K92xt8RJK57tBTua6iqNFVgE38sZN0\nVz535Q2AEBgp4ihIb+t7qoekpjh5te840g6WWHIGqkEe5rmUmUlO06rPbOtW\n/mMb\r\n=6Qx8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201001180242_1601575370591_0.4580480452720743","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201001183133":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201001183133","_id":"@accordproject/ui-markdown-editor@0.95.5-20201001183133","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f969afdcedfc599429cde9f4ecbe1a96b5e38cc2","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201001183133.tgz","fileCount":4,"integrity":"sha512-cre6/Rxylck6KMR1w0JboL6ai6SIgAIbu6VYZ4BacAaCOReGx8BWURi6nSlMclbGxo1rtBm+ozmDq12U9HeFLw==","signatures":[{"sig":"MEYCIQCvv4uXJWgGbWzcWUK9maDViwsicyBhqaApjAkYAlf5ZAIhAM8ZDvBzIivdb37RClDVyot0N5bJY3EGrCs8MpLl0T0P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdiCOCRA9TVsSAnZWagAAANAP/iV6NTfmzJOtb+r68R5I\nidtCK7XYa4Wi1H+5zQ8k/T7mx2oKgrmLuPfZO0weMvf+3/8CQ+4rbbL9yL7y\nPit6WHLh92ICgwkSc9J1hQfmt4xC+SUDiG5xw/DaL/7wKYuOyBAZsTL41alm\nvxfbWrog5FmT0Kt7qiOurO/7IxP6/G/CqyL2i4W4JX7991qu7xj5X7DNKRS2\nC7mYqZRlZHLx74CAOt+NcacUTerJKP6XfxZnEJNYD77dVh37ItJcIX+IhBlk\nxCHKfER3ISFpvU9MCxluJceGavjgCMWWByhgjBEuG7J/ttEe3xgmkr07DKg6\nwFwhQPfqCsy7gIUYyG7pPfzb+uTv6VxWjcmyqNtS0e8IspbMHpLO2Xge9cu3\nj0xPUoct3FZ5wERLkcBPeXNv7XzbY0mwXZ3n/EPawyO2gEerbPkudvNoUW5e\nzwXjJGQz8p1FyScbdwF78HQC4sJr3Z0pQ09tMp+GWu2P3MDLk6fE6vO3pd81\nwfQ9eAByyni4kSQywdsrJu0fdRYS8+ZPbH9NVKVCBa/f2Ul6+26FXXrHvmCK\nf5ul1R9jTiUlmzP3vU4nNlgnS3Xi3z9oC4ovW4a9AN7ewAGCKDo95M2QqbGK\nYa/pOcbBzUnhFDU+yKyaYQGvH2OFHUaU7+KM04/U/lNCeVzcUa7z0xGsdn7/\nUgGX\r\n=9Doh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201001183133_1601577102474_0.5195227651945016","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201001195448":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201001195448","_id":"@accordproject/ui-markdown-editor@0.95.5-20201001195448","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"65b394f28e83ca8fa8ea528424edde96bf7c0096","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201001195448.tgz","fileCount":4,"integrity":"sha512-E5wvCDrjsoP9Y4aE5cVKDr9hkBWRmuFWZl+rrvloNQxGXKqfFiE9BljjtWCINY3DL17BU1FmoKSSvghAOAnaWA==","signatures":[{"sig":"MEUCIQC+6RjvuV0i7s36cNRDEtko9Z/XOXDHFsRSnbiRx4uhbAIgL79PS5PlJ0JPqmi7kIootmD9rlUd+Ll0VJ2xAgzYB8M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdjQSCRA9TVsSAnZWagAAtzsP/j67Z5sz49l/x5IIEfSb\nv8YeRb1f0sqqrMiOW94/Gw5jGaoOuFfiUiUk3GgaBu3IT74rGtU5g+qNAcO4\nUg16Ste1N6v22E4c+rBUV2Q4nmVS9A8UbhGx3d4TPDHHRdqG120QShzn8Us7\nRwcUYE6gVS/F3YmsIktGG55L38B85Akn2+CYjKvdDNabDWnMYkXGThboHwOt\nhNaKZ3LU5uqzES1BnRT+avTmUpF08vZZtMcPWHSiHDsk8TiFj37wFLcOCmFu\nf7bzXIJReJ/wQxt19DzlaveiFDO7GFS8dtQ+f2scIXXVDe/+KKbZd99eSyJW\noDzcLZ2Ay3lTgh25N8CtWLDj3QHZCLFFcAC6ku+D1+Q8KQbe3e1TmQJk8MC8\nwcOv1R6KpX0vbiDpXPQfwrxrw5skPcL2szzEJG9oiQ3l7qJYXCUXFK4wXovB\nAnH2UnJ7RlzQZ8L5W/hxb4+yoiDV3FVkPBWPRYVTEg1C35zBf7gxtqYH82XI\nEvIVt2p8vH1v2sBKJ67yLPH6tncomBXXsFfIuFW7G6Id+wFLy36nB0oHvvj2\n5d2nmIffiJJ4Aq2Wzfh6pyf58A9Ygrl+Zcs06dU1h/k0oV1ndqjhYIBY3ToF\nURuT6mgHnZmXEPr+D1NWkR0GySIpHQS23KoGBRE+8wrHmAFD1PHddY/CYI21\nUydc\r\n=vXYu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.10","@accordproject/markdown-slate":"^0.12.10","@accordproject/markdown-cicero":"^0.12.10"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201001195448_1601582097890_0.5776956319738171","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201001212030":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201001212030","_id":"@accordproject/ui-markdown-editor@0.95.5-20201001212030","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"d0f1fb3739d586bb2fcb6f7483e9ed081374419d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201001212030.tgz","fileCount":4,"integrity":"sha512-g42RtRrMOdkRjBAz8mMPMB31Lg/4HxFFWP2I7rgYEreE4oLSF8/i2K5uDCzQcSdIZcxNSqycAos5r8cr/rAVfQ==","signatures":[{"sig":"MEUCIHVBRSbCuMdFy+8G+Tic5KxZ29w6fUU43GDm7atxYIiHAiEAt7khRvq8QlNI5iJRNmSF5yKEQzkiDCjWVmfjkumjR70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdkgpCRA9TVsSAnZWagAAXnQP/A4tPgmWKwrohVmHweCf\ngRd8g0JJpPRFF05p0VexKs6k4IGMHEhlgsQZvLVVvJ4RQE7l1ixWWps3NIgf\n8da/ZdEfGub/gpXMdChtAQ0Yjln/UbGEpG6qO8X/q7Ucz8PwOeHNGq3/5yN7\nBS0wijJ1FxOeB7DiD3tBK+weoY4fShuC+WnNvhobWKmX58Pxyr91N6iRKzwa\nd7DC2O927Z/X7In5tYsZrY6FoDEjvvnobL6Oa6qnAEDZtTAF8rS+1LpJKgSi\ne82QAtOc6h6XlZQsg9nVwmi3jb9xZFDVvr75GZYpKqhGcASlALFW6NUqvC3S\nPDJxWoK9pzUOM9QQr6jve5U2ufl/Qms/wHcSTeCaDJDqsxwN6ZlurvvcoBlZ\nX66Z9vWjsYeMA1bbyhIgU+lbYX67FmVAsqWLsnT36N3wk+IqxAmmN/bWRJ+L\nkzX93p7kjo8B8em7G/tnwtw5sXXUNUt09kc/JMC6giRMuSpLuA3mojALZSi3\n6rXTCS8R81qtldIrhEwi2orpNsyuZ3SG2NAYde6A3NWapz4Pu5UZIR73bkA3\nSm3z/IkRFDJozd5Ph4Lzy88yiklzqxYdiJNxrlEqvc4qFaU0dnCew5E6Jxlo\nIGSOMRm8D3xW3aijkgm1HLJk0vMtAAaSUYP7Sev6Mdzz8PwJS6ip/eE9OJl/\natju\r\n=x7gv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201001212030_1601587240624_0.8723524101141042","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.0":{"name":"@accordproject/ui-markdown-editor","version":"0.96.0","_id":"@accordproject/ui-markdown-editor@0.96.0","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"cdb2963bb82d01b9f1c615e940919965062d8815","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.0.tgz","fileCount":4,"integrity":"sha512-luvWh9wf8WC5AaRJx601OmO1lxhP6QbqnNrSEqoYalkRsN0hwXCCHj/L/HxQBO29yg/oRAN7hkGxuHQk81de5w==","signatures":[{"sig":"MEUCIQDB4ZyT66nmTTuJR+2ERZDTfnDqO3wcQyxH88CiiK/XqQIgRck29ccB/pJe4vtq59efehhNsK0stKlEmOQjp6wizEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130277,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdk4mCRA9TVsSAnZWagAAkGcP/Av5jyUlYEBxyI5JDx8B\nHn4ledUZIdZMnt7c6m7ZHY+9ZKh8w7Lp0fKMyXhWqUkZD/+XH9hOzeAhMI5z\nYVYrWN3cUII5NDhtWkZPIuCnidZ2xWURoOWPdFwpOiwzpUq5MRmTAWb+OeED\n6hz+Kd3lDj058D2rJ9Uj21cwp/gMMRaZ8Q2MzBU1ijGZLSGMe6QXOXNvRSTQ\nGo0rYTp3j6L/bJZcNZgX26qpvxZhV2cigmKB6pjvcKHYxoVF/nvksYV+tgww\n3v2YwzpKspTn4S+Wya1SfwKyZ3Z2N7ynAhTx4hWyOX8wiCl8khftEr/2DMuf\nDRUGovxKTF7suUufvAYiGGP6re87IPUS3RO1YNzeCQ5nuAfWsEcg3Ea1/oip\nHUn1mqEvKmamBGGn7wYbUvawz41KwDTIGhFYjunt+MzC4miirSqWwKaZz/Fk\nWA5tbYOFaSvsUjDAb4++ufCdf1ZWdCD/70PuLYgcD7UYOfZvJec4FOmXKQcQ\nSXGVFPLF10/pfGOyo8QoEoRJO62vIVRVjiIjUK4QqZVMANznVO1Q+3e4DReX\nFG5lSBzebnVZJZ/YF19z0RTgu/CzNwPgnUFbBInpU4hQ75ndKtHwOiLkWegZ\nKwZttp79e0FP407UPiWzxcCgV8MPf/bk8+AHRfNiszZc9RUl0bOyWjPfUiwm\npnQM\r\n=RXSH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.0_1601588774492_0.05457275241829329","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1-20201001215119":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1-20201001215119","_id":"@accordproject/ui-markdown-editor@0.96.1-20201001215119","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"d40bf7617d5730373eff9a3b9f50d67cbc8c6906","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1-20201001215119.tgz","fileCount":4,"integrity":"sha512-9D40/kDfPGULpXofAgMGHhYi6Xepcd7m7jeCg8I/CRmz2s0/nmA8+2IPVXBjjKSyjYem3NPUWFdVOvGG6J5aXQ==","signatures":[{"sig":"MEUCIFYDZ7+r+t310MPegzc6vfaHnv7jUiG75w8Oj8QJd+SAAiEAwGhS6iQjTZLH9e5iYv17Gf066m/yeku4LlCbyVGxglU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130292,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdk9eCRA9TVsSAnZWagAAN48QAItVjFMQqvh/8Cb3R2Fl\nghqabn4nJIbAya+F/eaxx1DEvBC8s5SpM0m7MTQNKk+h+StRqYurU2F8eY6v\nlLPYnJldZWMBQeEbU0yDXwk0GMCmH95KyiZPKLCPaSvyqqnk1cA9WEaWVmB0\nJB3I99XdyVaG7nV8w97qqWTFb+f9XZApJGe/eqZKM6CLjseWh3zE8A5MbSh7\n+qGeQJsZpYyh4T32AmRHNBpx8S4gEeAhjMxE6tTjqiGrUgPJQ8Vftsg145bU\neWMxnAZUFNXI+OOLFeG6ho+C+3gYjYwvXV3MC1gZplFZ4wfDvAxIZp0D+PJv\nwWaTRKiFXeieP3zOJXjs5iFUiJKio+WO8YfHm+AKo/EI9Vx06TmDtXvkjPPr\nt7wYzD8njF4udgoA4fDIDRjzcvF+rSTTqltH7Z9oddRP2c17/ozextwsmpRW\nT1gpkO6yq6H0bqAUo6sy0gs0ThpPv3MP+qvliIbl6IRf3aBPQCoWZE6ZnT0y\nvMrqWCsZqi84XQtzewXspQL/mZjkthZq+SYksEUdwEwn6MxyYFONVAOJwO5a\nth45OTBSbYxY/bK8wFjyVleZcV7C8PfLV/wYivZW/1LqQm4thUAaERcYyYj7\niwO+uU8Qka2t/RmDqdOQ5tOfAhluEiJeVlHZkRj3WE6+hUV7TtUXvn4uaKON\nvTBo\r\n=w05p\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1-20201001215119_1601589085797_0.27709408612870345","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1-20201002122041":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1-20201002122041","_id":"@accordproject/ui-markdown-editor@0.96.1-20201002122041","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"46a176e3dc48edadd02c1c1d098e247b63920f91","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1-20201002122041.tgz","fileCount":4,"integrity":"sha512-K0I+BzDZcGD5Ep0wFKbWKKiTVxSiZKnQ7rdjatAlTQDuTdvh0+dGJKRvnVY3MSl3hlkGx0fv9r+hZDX3Sf/SmQ==","signatures":[{"sig":"MEQCICYz9X7A3b/yN0/E7fIBGerUp7w3AWKbMVVfxVI3kU0hAiAUJgArsZThucTbthxLVFo7VhLxMPCRRbiszDpC05hdOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130514,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdxsgCRA9TVsSAnZWagAAH4IP/ieohtxq8sjqT2glaEwF\nWWOFQ5yT3neKfG3XqS182Ga7EDfm6u7bG2xV2rAZxx+bemH1WJuN62bStkgY\nSMRoYkIWWCY5+HIU1GvWBPI7RpUjX5WCNDGxwwkQNKIIysbBPnj/63c9dzw+\n8JWQBf2xQO2rx4PPIRdvRG/wRHgt/3kvCWKpafyKX11SewqdkLCokerJmHIX\n/+VCmoD9gp4ndsCXRBTCMz9t2yd2H6XWrNfyJRIly7b4INHFf2BbwmyrS8E7\nQ2dD5q6u8TeBCvk96zdWihvGFYGA722r0QpdCWZL2ZaCepSHDkxAufejrdkJ\nqw4ieK5sPITNoNd9bB9JxsTgHuFJX9PesT12iJ+GRwttSUjgQiqAhs1ePm+0\nYm0Ou2Q+cQjsx2ipO4SsO+l6opLNlfdmp1jksWzKkyStWk6lDkADoRN0pzvP\nrzqeN3JVdkYbjLnNoaAu2efVF/hSyWVlbx4PTazr++uepeTSCn185BnvqRzF\ngjVkbz10rvMoEZOhYYDazR9iFJW0CyfjH7d/URdKLan38JoFLZgySiz2iAsG\n8cNx7A9C8Tyq+lA+ADFBpqzlhmGpV4P91Ch3aBjsmYOgMiEPbeZ0U22VPIjk\nysRvID89xK3m74v9SSTCTkA98Hx2RZa6J2ge2//EklzUHYOEOc22ek3O8mKz\nnJVq\r\n=a0Iq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1-20201002122041_1601641248268_0.07858387763868757","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1-20201002124148":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1-20201002124148","_id":"@accordproject/ui-markdown-editor@0.96.1-20201002124148","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"562c49dae2365d27b54ba8ae859b7b8cdd64518f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1-20201002124148.tgz","fileCount":4,"integrity":"sha512-s2bzIBTnYRiVkUseQbcX12fY45halAYFZ4Yx3VovbDSYAurv4E39dVdKc2ATo3qdwY+A6KdoEAIvfSXqgbVVJg==","signatures":[{"sig":"MEQCIEgq3MQ6v7fGBH6m7fuLEWTi/jxSDaW4vgwqdTrGRh8UAiBXRFqdPzdEem/gVC4/77mKp6Lxbyw8vPULC7y9lFUeJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdyAVCRA9TVsSAnZWagAAMXYP/0AWrO9ZcbsC8ho2Orc4\nU7lJNGJki2thC2/uvHMTw3y5o/qRWG5Rb9ghpz302Rp99EvhoeA+iVq6WcZU\n/5of4TiXRachlt8M4UWLEv7nKImOJMspoKAffsDZ/T9Ezgu+ciWJYzyR2Edd\niqXFLD3z3Y93KBlQJECTRGdQFkCi93owhTdiqIhd0fta+2MBk7Ci4p+B68PJ\nY30J+cbkgY5iA+mS1WM4RdwwxmX7kq56F05Uf2EQzCpM/VwSgZbPE2rDRE6K\nD8gGbgXxckI97KVk1rVhm1pZskr5lWcjXC2aZl2VyRjqlVSwDLzk45vVYTy3\n+td2LTZCVEHFtYgirj2LHouEcoNsO3JAxHeJaaNqSWHgqC48tC9lKwH9khg4\nx6z0Flz2AZdHmcNpfYpJGBpSshAK7DqGxNRofaRGF3supYMjao4nCTSSdRYZ\ng9nikzTUGsDrnH93G1F+kmYfgH0r8x/nSmMfm6ZkJMzD2gGWkWq6Qi39LaLD\nJNvqaBU8QjGgY7yFvNvwlIuteKcYbmThweyQQRmyYH0+tsVA/MnnsLYuq7n6\n3luojr+I8X/P4RDfxFeP98Go+Jw/gN7Q/2wmenNGjqPo814yPRDVlKIaZwSh\nrocGidAptH+khH3UWrL1iSJtaSIngilHb61piv5orxkAvQCbPgVgCo30RPx9\nUvUw\r\n=Sl1I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1-20201002124148_1601642516591_0.9910005273393452","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1-20201002144230":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1-20201002144230","_id":"@accordproject/ui-markdown-editor@0.96.1-20201002144230","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f343fffe475c18202c32f8bb3b5442b89df40667","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1-20201002144230.tgz","fileCount":4,"integrity":"sha512-LDQv+l3Q7sFuGQBBxy1fJLH/pgVwJ7eLhva2jd2PLatDWLl9Julb1F5lY5LHnUx0x57Aqx7x/XWWcWEKTaALfg==","signatures":[{"sig":"MEUCIE3WmHVGrK0bnFFhcfSf1CDLpx3aaJglYcgQx3r/JoiSAiEAvwKVGrVT/5iOCkuOBwmYSY5iWoDPa7GRcgRIMTXgFDI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdzxdCRA9TVsSAnZWagAAaBYP/1JsJ+QofwLWNA0dkq2T\nQCDXlkVZNDXLtrtrB8C+px74hzgAcYZB8NHojJ86loUVy6o8Qv6R4zXGndD3\nYkca34cSMSfvWZsJt2u1Ue1W0eZdo2CWKlmbAuW1oRZZjhmq+VT1Sj/peOyu\nRqP3Y8GxxrWi0q8QC1GVTjuPmnOTFZ9VKUpxzMWW51WzLWskbs7LChv4g7hG\nzRrU7R53Dn8/b8GAMWA2L233OkhtTz5sYIjOx4/QgB5K2NuriIlpglq8Is/0\nLa7trv+DOl0p74kG3Syt0yGwsHw7xTARgN7j2OONpqnROK38aFWglwenX6Lb\nZB7kqcRaPu5MAMLeUYOWGa6pf9efDHqlQZIQLqHgb1ZXLNfgnBUvO2Ub/4Yj\nb8S3EUm+W7wy0hIbaIWpk9Ye0k3IXr59c2p8NRy8cBqFY4zY2Lo9hqMy937i\nVofKYhjfruwDwSeZGJhLo5aGDzDd/5gwAQcjpDVxZIuNXmRDWAooDYnOoZAq\nKxQwecchf/6Un+UOUhJiDLzQESvIiB5V+uHXIrXrToZNpNSm7VR9jmvMXFcI\nEKKgESeVWEovUKeH1NXVLOs1IGB4OIW1XZ3jYbbIAOpJOdG7cFmdThPkzvVO\nSa1zOAUFwsivOcysqMe3sG1u9e9kRV2jEvqR+85kvP/g8z9lkZx8EzewI+Wz\n+nvC\r\n=EUgZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1-20201002144230_1601649757393_0.10354147038536832","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1-20201002150029":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1-20201002150029","_id":"@accordproject/ui-markdown-editor@0.96.1-20201002150029","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"9cc20c6b628dea1a29e43cd9207ca2c51bc2a2a1","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1-20201002150029.tgz","fileCount":4,"integrity":"sha512-vDIENDxKYIlU6U05HnidydE/FVvTh/9pyuo3vCF3kI3trk09kad34grz2bmABiebkurxsPXj4JgI6ODxVk7zZA==","signatures":[{"sig":"MEQCID+u000zKxVPOVUOQkwgtpCkZCBVM727sMxrv7TkfVzAAiAaIdC9/uoL+aPRS7hEw5ITIUGgcAyywCoXdjvcXsNAhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd0CqCRA9TVsSAnZWagAAQNQP/0Gi5Skv8hUBEIK8pgFl\nq6oZ3oi1PpXcT2xgt3xvgxWSTSVNFMaU+vrFKZsn4NiiUoV9VONqBziyMX72\nUEh/z/Eqgk5Z9BHzdigBBhcmjsK1ICaZwbMyHLHFCUsC9vqckrKqNbmbB78q\nWfv0uv36gWuZfyyR3D8YjKPjUV0ZMz6Aj7kgL2noJC+70nakiIcJMyPy67Fc\nuS1PeF8CAXeSpvheGdcKbuCab5qmQZ0ljAwPn1+kPeAgp1WGYRcDcijd7vtr\nj6YTlUTvq3B3pC+Rz30ce1T9xSuxBG1ua5O70OsFlw2XYX9ZT7SbeezmXwwa\nejr368lYYQVgOfdrj/F9pl+uOaY5FuiYksmBeA5zb4q4X4Y7++0C3BncJUjk\nb7BKWHke5H8tjD/ujDlUQqIkg5UvcQ0Dw1lYNCf9bW9XKTZeL1a8cxHCM/G2\nNObozHM667v6V1+TQQGuyDvFKQpeYGgTb182tk5LlrjmhDdaL0qB/jpbKFDf\ngV/sx+lW51JvJMQroClaiWueK/Ac+ltsZSmE7aNRw5YIazE0wzmx2VUOcGRG\nnq6Bh8Ppdpm1cgYayUiMj5FjHGOn3U1c6Uz7UWVD6++zqFDeqmiKkk/DYKF6\noQ38sEOMir+0hy3O8FNJyR76+Ctx8yIOTuFjj37ZwZJoSRVWkb+PkV0ti7EX\njUvG\r\n=pDLG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1-20201002150029_1601650851633_0.2828966454616588","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.1":{"name":"@accordproject/ui-markdown-editor","version":"0.96.1","_id":"@accordproject/ui-markdown-editor@0.96.1","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"9e681548982d8c5c17a8eab54636489e16d8e31e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.1.tgz","fileCount":4,"integrity":"sha512-juEnSLdPuKpx6dzZnVGQExSxVP229Ku+OTxTepClZTADXngSkM/1enp91Sxy22dEn9CkA2v3glArpiSki0uJsw==","signatures":[{"sig":"MEUCIFORkK1Cy/Wp0ZANTB2mxhr3ZHArH1WrSF9COgu5fciMAiEA+mtwhXHeagb8cTKHOor9vbIu47TRdtvCxcl42aMYAgs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130511,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd0H0CRA9TVsSAnZWagAAWKEP/3/IPHPX604VMppKUaAm\nyeeseBRdPMdpPHJ/nmXot2VjXtkrKSBJEX8U5+K/kz0ZP3yXnywB/GY9EJSm\nasVWL3WFeuNFIiJoSE11pd3bXDgRi856ZWg6/5BofA4XkDCxSM2ZVwb6GulI\npHyGryecbzIdP723iayKsf6spVyTRoHvBZHIS3SaspXbohb8EKRiu8y2Tpyn\n2kkIaJe85VZ5w3v1kf7NcLBLdYO4D5Vek49B40hrIl+UgitwzCqDinStE8Mf\nNcaIMLfE31nXymEAs+syMmilGjBWTcxzPMN2e9FT1LtTunRqZGtAkYPqfVrm\najV43ZbmRYny/DHodma5hSMBCtfvsjZR03N945LUJ1xZwEPLIR8lAkktBwPG\nKBDTJTNt3Zv3+rcSobmQkVjH5HbivNQAoUdg35WF7j8czb5NrQ3LF1Y9JmLz\nvG2d4YpAvDwdrhwkWFeIQLc4SBTi3cyDhhZ7uk/Rp9rvjyQdduDm0okiWt+q\n31j6dlxuoOlitpfm6+FxAVUCepR3aZzWVVrEwDhZK0TWpsCnaMrPRyztkQBE\nauiZbzbZ+vqNFgH+XH9okzv47JVYlYuVfwKIL1QKdfkYgCvjyCmnML6MbdAD\nMwfNj/1akg+Os31xnYDVkekYiwbqtHXcO9d7r3YOKRCWbHxevJjD3Mrkr3/l\nHNy7\r\n=pF3l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.1_1601651187954_0.7116178134354012","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201002151755":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201002151755","_id":"@accordproject/ui-markdown-editor@0.96.2-20201002151755","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f60bc7f9d0934dff0b4a41770dbec78bdaddd86d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201002151755.tgz","fileCount":4,"integrity":"sha512-+Qw9yeDHC3VLbUmV7vd2cjY0JPiFqfgv2Wfe/Gp/EFvtbozxvG/Jbc3BoLogbY/9m7sJz65CyDFTKI+4oM+7NA==","signatures":[{"sig":"MEUCIQDjp0Bw/eyh8jyr5bKxNhxg64h6naKEDVkrlscEMmmzqAIgZes3hnMoLh/nRnHxIZ5YAve7J/d0XK+MahGbGQBMHyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd0StCRA9TVsSAnZWagAA0oMP/iJ8dv/rTe0UpnhsiecS\n6XEnDiA3kJKnVIbMSpBQ5a5jPQQA3DPC2ojBge7FfRvqDM6GwnQxmvVjX6Du\nzloWMGC7yEYW6eJIvTR729t3wjf6KDatWWwVQ2ZikHC4ivYcRkMm/fh5oyT4\nWojZxhwV/l0AwwhpYYTHQeD0tyOBu3+xp/H/ZeBdI4lDEWEZylwTJA6jInFB\nw+VmRRWdP2yGs21iRuPnIeCarEiQmV/gtyeKs1Lkk3nE6H7Nw71+XGqcbsW5\nY/tQqwQ1YA9RVEh8uveKR/YZaZNIE0Ixq0ZGxME55l2mdIyhEqhAXQ0t2+Na\ngAkaGwdgzaSKSYtzcDbtHQAJ2EVi1WvKNKZ6NU29Ch71A8FbeCyuIltpROlU\nVsXs4hAUTHuQwcuO0+lhqCMADlBx6ZK4ZFRVm/9n7GTgUN4ex04H1DoWQPRC\neFH3wUCK/qxtqG8MxtjuAJC5Rg8AwFiWCJYGmKxFxdq/P0pXRDCMLlqK7nLX\nCmWwQvss4FHdI51vUadaaSLposV+DirqkcoL2YzEzPzxBZBrgYukalbU0tkN\n8d1GKAKl8PGFI9oa4wNA5+kbTS59fdbVsFrTVDr6utbHYGMdaU+maC3jk/Xz\nnvyjEmun5GnlNGx55SwC77zQxSHZrE/vtYSC1luQBG/FxtkfK3msts8SknNM\nU1d4\r\n=Ad57\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201002151755_1601651884645_0.9648929243219773","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201002181621":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201002181621","_id":"@accordproject/ui-markdown-editor@0.95.5-20201002181621","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"9e158df8757f6f99b5bd944a27438df1823001b5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201002181621.tgz","fileCount":4,"integrity":"sha512-m3z5AeVRQnUsPAd/Vt2VP6QoHblDdwswbuy/3Zge32lO+2PTD+aIm4JPMPNxnNXf3hLBXCTnxLrx0MpsdRPoZw==","signatures":[{"sig":"MEUCIBuGGr9Mhkz/4MNJadlXirf2LZZ/8Uor4bPZYo+GiquYAiEA9Bp6p6aFFSS1UFilb85ohVtpbLdWyicEtKjaNeGLMeY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd258CRA9TVsSAnZWagAAeBAP/0iv3rMy3Lr3DRiVgTxJ\nKdsoHoMbm0YAVfYMULXDvK6T9ZXj0od0y6Z4kFQbgUuNs+r7DmjoDEmYfCLy\nWf9EQ8tMmu/+Wk6Hns6uqrOFIzERf0AfEwa/dzMWqbPYpZcjnMczC0ItR4xN\nyD0rsxUTwWsn6mT2sOLJ3nCkhJ3HCJ6LJLhL2lNPUXg7FUgJx4da/dYL/01E\nzJAk9L25KEkCHogEd/UuJxSSVqHl9ban95vNRTQ8VahCPN9jEoUNEUT+K0zZ\ncFKqr6N0oWzH2xxotvgYzt64TwrTr5DTu9kIKjjdGNBj4B4qDYO40yrQnUih\nBrTVFs0Z+/F5RG6YZcll1Cpn5G/aEBgYmYJdYSe6btJNlO3e0jZAcUkEpUB2\n9VBkfl1cA5tyFVthU5Zo5PlHJHEeCHnsAuHCfy5v+7IiT3MALXGNtXhsHd9r\nwbWEn5fim9J+ZcCoYO/AVvXPGiBi1HEOvULzN7L+dMNV5hJyvCEgblw31HjH\nGm3AGGuP0IbUku5rZ7Zcd/nNTnbYGpyjMKohrFIud8eY/mo5kUviBLjUKRZi\nb8G5vFdq5Zz8Ua50/YweAJYyEhimhHzccqKxvRygZuTEN2gLBiYFPpnSZKF4\nYtysmOOTxVKdz1S1eWcl05IDjD45GVnvTwQhy4S5qind3rDvKTuMtHjpC7Ed\nmBuz\r\n=itZs\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.12.13-20201002180108","@accordproject/markdown-slate":"0.12.13-20201002180108","@accordproject/markdown-cicero":"0.12.13-20201002180108"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201002181621_1601662587943_0.7759649890711546","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.95.5-20201002181840":{"name":"@accordproject/ui-markdown-editor","version":"0.95.5-20201002181840","_id":"@accordproject/ui-markdown-editor@0.95.5-20201002181840","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"f378bde85f8655e15b137988e782233c345465ee","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.95.5-20201002181840.tgz","fileCount":4,"integrity":"sha512-t4nIpEeXcphAlnu2vD0YvuaAhaPp5ZkFK6yq1SihtMaQpeh7F7XnjVDNm305gkChOUq6KSAT/jTpBDUYD6CmLA==","signatures":[{"sig":"MEUCIQCMoZPrwNKBqMlQMH2gLEJFdmHgZc1NtTHeChxKnX5wRAIgBV2TjgGey97xk2O5K4IpZ26XOAmxl3BZb1+AKsWDIxI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130334,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfd28MCRA9TVsSAnZWagAA+D0QAJ2j9HnhdZ1NDdEyyLkd\nquS/K4ecPfjDq+7IXF0Yueto1OhZyo0NhdRI+k7ZaDuRUAtKteSbJp61n59V\n1PFr0Pms+Rn3jZ/3xtlgDRbGoD/YdPZKieDgs0q2LEKxHcW/jLB7tc7owmRV\nOmIYNMOfS3hv/cZ7czBa62s03JIAYMdQwuao6xIodTAAsyiA0sDyADuLpWlY\nPsOsKlEbs1oI8aOhZomG+kZ+isPYYNjgyqWI0EZs3JH8oMVsSn2HnXs53zTs\n3PDXj5mA7T4G/hdyMzZ1JqgVBOeHt8f2MklZpT6wgDRoQJ4GUKkLeaiLdaeq\nHonladxIEornhStNqPUFnizJSasjEMqELr012ZOfBu862QTN8Y/TMx8M7MxC\n974Nr2bmwpPij+FwDu+ZAviVEbieSgnjDHGVlysN4nQIIe6ObpxgmoyvLpIX\nTWzBDhslgMs6GawD0FytzotG28jiP0geML1uX7reMLFUSNivZeQ+f4B21PKA\nJS0as4UHt/5398jkLw8E2lhZqUJ9BeHQk4/L2Qs17HhqlvfavnX4vrSIOqMV\nEI2+xYCaXi82muDmHBuKNu5TIzUfqvlkFBsp9h55LEs1/P12zAQ4elWaxIP7\nGQw2plWg0qaJVkR4BGfb3yQ854LMr6Nolt+WuAicPJDiR5uFUAHxk/zQxxgK\n0hbm\r\n=BE0T\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.12.13-20201002180108","@accordproject/markdown-slate":"0.12.13-20201002180108","@accordproject/markdown-cicero":"0.12.13-20201002180108"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.95.5-20201002181840_1601662731957_0.26741595462631906","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201005155650":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201005155650","_id":"@accordproject/ui-markdown-editor@0.96.2-20201005155650","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"a47a7cde1ec4baf7dcbab6f4a02390bfd6265b6f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201005155650.tgz","fileCount":4,"integrity":"sha512-4QsPlya3tdASEawM9+Tipdi/q3DYyPUQR3azHDkWGCMSndzK+9NGOeL6/SGE03Jt5r6kEkzia1yEBrtHGYMQ/Q==","signatures":[{"sig":"MEQCIDmbMg6plZN4ec695Ioi/O8hxNI2mSiGOBLDOMoiSCXHAiB97IEt5apoaXapPh68XErqTs2pXMCZCx9rqWs6KoPHYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfe0JOCRA9TVsSAnZWagAAvlMP/2pkdpC/nI5RfksCJzsz\nEVdEUdKU10dhr5q/T+WXYAXLSTPyZBT0vDvfKwlDm/6P0qrNtpi9X83evtOJ\npbfpox6aVmTJQf2L9FuDXBjqfIj09oS+kp/wReqVQRNckNV6CpM42QzTxYp5\nDLLAg/tUOCrcIg+acdQOqW++BOzSKAHCdspJO5O+o7vTSurlSv7UoKpaJtOL\nitu3J9B9+v+iNT4wSoaKm17gsTzZyhddoOeRWusIvjuq9oIc1hTSnCY7oos2\npcWLl0W5BgdG3A2ttqo0GUn7eS8KpwZI7isxqi0nRgIvjY7hrU7sHR5+D4VQ\n52PZcv7GO5nrjGD+LfHLKl5H85JZ/z9qmsb6FRdHyL7vENo7cStoLYFg6kD/\nRKfNQfjL6VoPJbC9oZr4jSi2HS1MPntuiRKPbj1oDBsvg1cZIeJcS0pvkCER\nJ0wT9D8GPQFqsW2wQoSeLriXXWjGwcbsyrouBDBnDl40s+kmQMcWmO1P87y9\n0FExsOk2HPiOod84VzwkuTon/7LJkJj9veXg6aSt7cnSplPqONvselIdYOlc\nl3Y3duT8s7DKktonUt37xClUvCjkpSLBpoadfUu7rR+TQlfTzKO4djjPzr5c\n7nPPsXrwHcFqUJAHq22hjdR/iywU6mbCLATgARFLhM90PzD8qr92JokpxHVA\nOZEi\r\n=2uSj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201005155650_1601913422293_0.9959509299784297","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201007150616":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201007150616","_id":"@accordproject/ui-markdown-editor@0.96.2-20201007150616","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"8a28bbe17c8df811cc72987b5c2e56ca39eed532","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201007150616.tgz","fileCount":4,"integrity":"sha512-FL+KEYYgnf0xX2jB+vy0xS6wQJpPrVCwUPdeCfElr3LbgM75vnWq4FXgABITxmgEsbITioIniG8AHdlvj83xvw==","signatures":[{"sig":"MEQCIBQqk/CJTNZ2arIM48AifepiBffQfh8OkIefti3O2K34AiAgbJ2RzFRO9RWyMj+baB74APTxD3GjNs9TJnt4XcqtTg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131217,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJffdlwCRA9TVsSAnZWagAAx5kP/0zwpKau+DLGSKvwJdcW\npB09LVlTzMgKeRvpl30MdmLJv9mjylCY0cr5K2ctH/521Sim02HvrVFbHvkq\nI06OQYx3cZgeWZvnfVGcIK57LP1tKFg7+J37N+m0uc0Oy+JCNGZ+3YF0dUWn\nKeKA0QMgSzr1xT7ZwmNArjW8BRq+EOaq67ZPIriB+/CLl7L5nppSZpCo0R/U\nqc3kt/Hmx4X9xsr4NdVPXVocfrOwPGocR78Jz6kBpQvleJin+u5TtuHXF8Ur\nmFhk8BIuK2fVd4zOOcOYNla5BgKGa2vZGafhC6k/xgQdnkFhFn+ODrt4nKcO\nd5WD7pNtRT7nh8D4rl6+nXTngvWHbhGckpCMtwa+LtokCBBj8aBq4n7+iDVx\n2ETXVogtodn+tw8uztnxSyQCMsSC8pkJ7JXjb7s88cmK/jlC7l4WJHjt4p/0\ngyCA/B40EL2ZLdqm53StGG0Pi2Es7h0cIMCyKjxrqMssJngWM4MGTzMBI3Cp\nrg5S2BFNMqi4Z/LiMAGdzT+CKFW1R/H59U5y5/bPctKYMyhIkZrh67apHtLD\nutko9N3CBrvoCpmcLkB0KAFRblvyX6c5cd/uu8UXSxNVZGZUzVTCj4uudlX6\n1UR70+kl6YqtoIpQzsohjl4WprCLSuZh03udprvkvJk2IFkMSsgd5Mu/Xorr\n1NHC\r\n=VGE2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201007150616_1602083183550_0.47820339316551896","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201009133847":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201009133847","_id":"@accordproject/ui-markdown-editor@0.96.2-20201009133847","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"bb111d825de1b56d6b2c4c338842befc906c8559","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201009133847.tgz","fileCount":4,"integrity":"sha512-67/bMF1KGchm14p8v7DZwB/FfRWae/Iv4r4sC/0m7+Ogel1V1kY/b/3wrG1yn8wPu1JaRaqWU9pVp5n3aBaqig==","signatures":[{"sig":"MEYCIQC984S8o2B5LDczjt49gMLtqThrUCx77570flmrFDMuJgIhALWQuY68saWtASgHJTeYwgVNjHy7CGmCbBFCY06JSGDs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131218,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgGfuCRA9TVsSAnZWagAAZ/YP/jTyE0+ZmwL01IzFiKlg\n/RwrFqzQfr4m9n2DGzNANnLnniutpjnSpmLbhUx960Zuge3YfkBB4/tsR/IM\nnTiXxNDpEKasVFQlHOn+fWu+MJBguh6pZJiI4nHXqwbyV92XD9+2Tb4HabTz\n43r1dkvSh+MLm/rKlDZ3W27kwtdnUPMnjxVkeW99RDbrB3mbuw3OwL6PHd4Z\nXB7zmD2besqJBab6OWX5k+Y7uPpU+Bj5vCGFjVcdU4vcHJioHf2AI0HmmxoM\n9L+FQrEAFjFGnziSAZYsX3FLw8Twq+I7YVi+T6x53ihfWSjkoD++bYMDNk7E\n6nQrcoiE5gfBXpbx7XEWS1PqqpGpUWBBJX1FtN+MULDpsjSmBu5RPQQabG5Q\nSrE4NdgwtvzhfsX0j+4otFuhX0zrcQ5YjhwvgpC9Hti4hwX8fErpsL6s1qB0\nuQYgjlDg2ZARmo98suKziDRMPkc2uGvI3V7x3NhlPBJ/w3INvaToxwyqnoD2\nPb9ZxzFIB4pjlpIRH3L1bs4l+raPjLWX8gAKBDjbSacuQyx6Uu2H+LZiw9OU\n+uCL1TrpIme8vpeEDx1Bn0MqEAY85IfJt9EZyvYsXmhU8+wuA9AWHc/TY4zp\nIjrWDXXC736fSAwh49D1gLAYb90aS7fX6iK87vqF5eHMfCS5XibH7IQ35M+Z\nk7vq\r\n=NeuU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201009133847_1602250734199_0.20462528161569304","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201016143055":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201016143055","_id":"@accordproject/ui-markdown-editor@0.96.2-20201016143055","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"b0c4f47a3490b4733a51e8e1ff7b4f70a571c683","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201016143055.tgz","fileCount":4,"integrity":"sha512-JX/YVV2JkvhETaUNpCiAOo0bOj798OC6mzcjZKJyjAtXhifqgaYJOdHz+bzR7bxHw20EDYOEvVwSdgoRJEBguA==","signatures":[{"sig":"MEUCID2NqmhJrUri0pd5n9sud4ejVojH/maz0onzYojOTvh5AiEA6ZDSZGwhcS/Sg4dxRs/nvXDWvADlL/OHWG+JQaPR0BQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfia6nCRA9TVsSAnZWagAAtUUP/i0HEjO7fstPNUtv1iCc\nFSVvlNcoJId1EoIWsNCEg1FgbHfXBryCZPCnWNJHf5v+cqrJJOcF66BI5qw7\nRIftoWRbFeqOyT1xT97ejXK5zFw1SASGODcgRxEyduEKuMdT80bkCuspK4KM\n3zPNbkl15cw03oWPXsixjANQ7KoRG6XqWSNITwV3Iver9X9Z2AeSQxdd2ume\n8l4OYxD86Q3F0/YVxUpJoWFCHJ/l9Z0itku+nRiJrNGnpkau4btLKFqr//hO\n91naW6B9Yzh+Fs0FEPn10rKGO9ZL637QUTE2HRViAHyEX19QFg4m9OVJyGPL\naRG+r5Tt4wP4idTyP2LyTRFMg6uiMGliMe0XkpIBtoQhexZwBVCFZmo2j1ir\nDiIEcXaUl+G7Y0hJ0SJiXhnVza5G89x1zjbkiVMMVXF5KOsx/sn2FANKiFcp\ntU8cMJqaVT96Igacen/aRvkM4bjMv872aWtojW4dh4V8AO0Nm0cdLmzi4XZj\nC6PsqLgFVonTcP/u2x6k8ZVHB2jVggCO6A1Rz+sD70SH1l6DKVWsvMt9+xOX\ni86QLo7FEY1Cl2Rcvz0j6Ob8ePhTXEFaLitPz3RXYXcvNLIG/jxTcLgRkvrg\nQ4JYCeevI9Wf4gYHvQkKKvZF0jjYvlaB25fSnv6MOF+BKfKzoI/Pat86gomW\ngYmu\r\n=cWK7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201016143055_1602858662931_0.8404979631897818","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201016191545":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201016191545","_id":"@accordproject/ui-markdown-editor@0.96.2-20201016191545","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"85e5943fb8106f12d953266fbf23a4d521d5e970","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201016191545.tgz","fileCount":4,"integrity":"sha512-GNrF/wpesVVcDD/XZsRGys3mghelmAfb9MHgI21oll0mSv5TxDKAg07muTh2MAQhBCHwLu/e+Xs1jbuUQCUAPQ==","signatures":[{"sig":"MEUCIQCkpm6kralFu1S+0jDF/p+GSTVpos+VeFoqJQ/pmp0sSgIgTq1FBjfvb7rJUWDXl5yTYTiGtuI2u40jhCVs9n5lQ8I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfifFoCRA9TVsSAnZWagAA4P4P/1ELxsefgLobP4jJEp9w\nS+YZqkGlC8HsP369Z7ijzqTbotqe/c3hJQWsrOkkdXZYAyridN1Lm5Tff+Nq\nm1NPFCxtmEGwpBnZpwRGq6jiiUcVgCxqMlJgWT4ifpVscmr7hYiDLxoTUZiM\nFf8JYJYhpUDa7L06isc5kb3uBpro81b6qqGz0dXLMwOsHQ9j3CJXVuv86kOW\nVnMIZzHP+fFGJPuXey2lZxYKcEcoih2tItqW9oCMesfxPpE8O5u4tl7yQn+X\nb8ISxoLXduxjzIXMcz777r13785ufKrqeAGH+G2Lgbg5PuGoglF+9D/TWDYp\nTEQ17JLTZZZUD9YSLgF6+qt1bWbP0Tk7H1o2pk7AD3o1DlCqY8GW4Q6kDCn2\n1rNxcRiCHGdJ2GltUzXCxaQpqg47xU4DUt7ixWZ5KBPYolHK+Kl4Gqy89Qhc\nCLIbHcTOD1EXYsDv/3vWDyJl2cUqRE5tpD+i6Xgi+NT55/YUtp0frQGHjrAf\nGi5cgYeLTheh9FJ8i36XcfW5tt6+zazFMfA5DIgXMJn7PauNS9v2A3hrHjvY\nz8YSYgmoCqyWuorc57/0BrO7lvECQqtuWHh+IgoGN58lZesi+nFAv9263191\nrOUaSkGJ5VuRs6BxY9LlR9AtFCvW+cfq4NqmjY9aJC8tCudEzFFZf99AHFYV\n4ZfE\r\n=v8kY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201016191545_1602875752040_0.27855204862086014","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201022202016":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201022202016","_id":"@accordproject/ui-markdown-editor@0.96.2-20201022202016","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"48a836d416dbe19f1e77c25cb230a0e4779bd68f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201022202016.tgz","fileCount":4,"integrity":"sha512-c1KDWHkQYRCzz96GYHbCwnImiY3L9zcliU5pzRoVxg+hUIbX4oPIJAn8e2GoHqfqXpqxFgxvmsNX6j/TtnARmQ==","signatures":[{"sig":"MEQCIDWNVM+59/sIEl4xeK+mWBc2CryIdnxaZZ+PaFd0GRPAAiA7pWfAgUDzBKq54X52oPZO0tEPgE6KrFKe0CHn9dGi6g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131456,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfkemHCRA9TVsSAnZWagAAmNEQAINH0TGdsRiUbRSbSLCy\nmw6Vw96TvwWH6SMw6gWn4Mz+xY2djrnq77JmbuIUIOJ0zD8mqoRyICSNlfRA\nsA14I00BMP25Hhcb3gC8haQDBdlDVpwSovNzlDBjuOBHdVQSxRdArD6zXCI2\nn2q6x/PLzLEs7nTcsF6N2wD3r6zNIO8itrcSrx9Gwu73BbJ9/ysFFQoV53Jz\npUKDqZ+ltKxvJiXRefuZSUddq9GG889y1JJm1F/To0NWABnzvGtOFbWtwNGI\nX8eYlOEJQAkX5A/fow0NrvbGSmrt+kwquXooRagVHk/idmAdH3dw5/ISVNEL\nA02nGRpiyS9r/p6VWUFDDR0T1jxxc4ofGiHlBW+HTk/5K8NBb53BWyAeNNqw\nCpTNGnJZhqD9I7EyetO5Pk5N8Y+NhcQsteWIabzc+nS0DlCKxoQlI7CT6Xj+\nLJ7/XuWFZDXzahk++g2csXKCiaIAB8lF1IH7x4H+3hH3MT7efBMalTw4hdRk\n96C3NZUMFJhxudVJQ6Xk7i30nDTULQCdHnn4Eoh9Ck8v0BFwuqQfc1GqauNR\nc5xsBfvRxSn1tlD2VG5/aTI1Mop+Akh9Erw6kcBpGourMPUltAmZw2zfx4Rb\n1gkYduwHwuKHsoe2fd9WB/yoBzvVALeL5iJmDY/IH74XrUYJizofYm/1mBaq\niB6c\r\n=gvDP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201022202016_1603398023459_0.23106635548168009","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201026160553":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201026160553","_id":"@accordproject/ui-markdown-editor@0.96.2-20201026160553","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolene@clause.io"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"85aed5619e14fb847ecdc190827ec22d162f374e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201026160553.tgz","fileCount":4,"integrity":"sha512-IxNYLsQeeFhaWv7BDLBF5PeTx0QFKcG8SviB7sYy2wLAhONR1y6JXPbQ67rWsDb6Ozo66cNaDEUDk3be7D2vBQ==","signatures":[{"sig":"MEUCIFL8lGY9XKyTOfpxB3AGkPXtG5n7P9bYNecyRac3eiGCAiEA+qO5h7LwCrPXzEZk/ooiIodPz3yegJfmkx8zcs8lqOA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJflvPpCRA9TVsSAnZWagAAEBAQAJWh5hWIE9Iq2GRc9wVm\nbgHPo6jVG27Sw3xQ2TurhUSKkzMsFjjK1TbytvbDC//wstjfK/6puicLtunz\nsuqA9dVVxlnFzBFSzpViqNE4Tz96ak9YUskkOIM9PVyWf1kWF3wIxpzpoH4V\nAkUzl2EJqkHaWSjvGjvdt34UD42E92CK49e67JhXo4nR+VHia5W7jO3ShhQR\nNjdRG+q8Qrd78DjY62jTum/3O4UrbqTeRNsg9yB9PNHo0g+RVzPM0Ym4TNdF\nKDG1M7IreSPLpEgcd0VtpYczcYXVk+8X+o3dyMIQhawzBLjoZY6wjw01kkpe\n0cTdBDhiXxWFTmCfcXBiOu6tAkKkI48pLERo7j1IofhJMRqj4TZOcVIytuwJ\neCX8mqMPNk4/G3UpZh9UTnMgnpOyFyjGx4DHnTLydAJGjiyae9Rafx9PrC6Q\nWbXAEGssw+2MOtGmM6P+J01JnDixlQxnC5WJdMrMZPHU8/+6x7GCwBre8C1F\nHuWAq7qEztL0mRSsVaNDW9ySqEFn7wcnySHjj9RuYLqcs9CBiG2QJAa+QSnO\n26N7Xmj99F412GxmyC0+qyY77IM5Nu3RE+pdCndT54e83dcJC56tkGMJ8tMG\nPETzO1rCiC6JQKrHM7dHByRVd/gxs12IDdtwKyCU2cXR/+nH1uPRLZZhCKrK\n6wH+\r\n=uNBB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.6","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.22.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201026160553_1603728360769_0.6621139706165469","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201213060638":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201213060638","_id":"@accordproject/ui-markdown-editor@0.96.2-20201213060638","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"}],"dist":{"shasum":"b3218bc5688400d35fe63be15c9fc3fd54e255d4","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201213060638.tgz","fileCount":4,"integrity":"sha512-AN3XGSLgArpu6wosc0kLH5ZsHu7Nlao4n+7ZNyReyZGYe3JfGtJbAh7jw6iN2FVYvqZNe8CnozwvGDh4GTyQtw==","signatures":[{"sig":"MEUCIQD9MQa6rjgk5XUvNn5Jzg4cd4zhMzN09Hnk2yg1HMGAUQIgKmi2AmhM9LkcG8yUrLgP4ZaxYTH+kaWg4Vn66bdBjxg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132214,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1a91CRA9TVsSAnZWagAAUeMP/RNMHHK/q8zuy0HiaanN\n8ztAK4zr6xznShgz0BcPevmu1HMsIbvVpb1wx3K9mDrNalpjC795TdcmZOso\nI94PNmSgCZZz+F+ohSIOPDIC0ihMsSwaI4+KAEe4q5TAIXYzZ/HeI4rlntbx\nkVE8z2x6aEciFF1SEVo0aHxkB7PUuFN7pm8Peoenfe1SWVugrgMMe0PzwBa0\nTBpuBPNz5Lff8T7Gc9cnTPmQrJAnDaE/LkSb2DnfC+p5xd5ApOkCvgYEumUL\nTfsmcXk2p/KjR1UwDDCjiO8Voi9mShU9ZTR9E7xBz/dS/6YcYbT2HDczw9Jq\nE+LiuspItG0xspZ6NS2oZ6BpbzlEk0ktK8bVNnm06TjcRrWMnd2dfeMP8c8F\nYVbiF+dIKA7xPCLX4GXOUf2YYgNzIQ9+uR6bgKdmD7x1tv73xARolcyTTx4V\nq/UJUgNCQ+8ohWh8JbVQ2d5Qq6h/R8IPz1kpU2D61cCBe5RCedrQTcNMwWn1\npkLkOFJOsdFIuUKoptIlROdGVKMYCfhk/yfBUH9L832+ErzmVXPidNHUE+tx\n3/frfUUsy6Dwo6Qmhgm1XbqsVqLIMBqfG2J8k4QIsn8JAjE+le4QAss2fEAH\ngA/gS+5kOZK5zkARte7SufppT76WpxdhWDasLWtKQlyiNVdIfuhvvAOlx/Hp\neWdj\r\n=c8V1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.8","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201213060638_1607839604682_0.6415247352074596","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201216174835":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201216174835","_id":"@accordproject/ui-markdown-editor@0.96.2-20201216174835","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"b9e68f5be653c45cd81219b0bb2dcd944fabe4b7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201216174835.tgz","fileCount":4,"integrity":"sha512-uuuLrI1jb53oODi46zeEzz+ILOyYJ26m+/LymZc1p27zV3jIM8DlcBrgybm6NO+waoGbfY09dMWrkKYOIcAF7g==","signatures":[{"sig":"MEQCIA3mZVBksdYukoVWRWA8G6aI9Q44MYY/L60OODiR8yEAAiAjzXphvDL+2Y1TMNtHm9o9fjn81J/RZ7LYHCLilvjDpw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132556,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2kh9CRA9TVsSAnZWagAAf8sP/isI/xVdDbS1HFpRaklF\n8zaT98oEvsK5HR226xrQ/b64Oe4FksSRJMDkdb+/rnB0q5RrkEigsjyhGvAZ\nHnflgLE97nR4uB3W91tBq5GpcYV9k/UGuRwQZFTOW/PsX+xI7FIJ22djVtwz\np5FAaVb1Wr/nue5OWO5kCEBXQNsF3ttw7cyETuGySJPfLrt/qu7sWv4beflR\n1q+kPwRMyWSfZnzBXGjSrc5ks42CZWGpPYnINdXmVqExdijWzs/CZLbvtK2h\n5E+jKKUW4LPC4BhGy5NsXanNWqsmUVSnllSdEc46ixLE1n96YGn6/1dHRiPS\nGP3iMyiv6BYBg4DM0A0zpUMLC7140g7qQNZ1evJksh4FCZZv2Ta6rNSc8XRO\nDdB+fGF5pHbOnzr06zvYy47+UAKWCZ1aoRG5aC3XaNk/nvTYv2Rp9PYW3C2k\n4RIVl1Juow5iKZYlPf65McykOFjYehaevj290O+yF4ceyf/pqWKttw7OlECP\no0aYO6/ySgU3tnMNKHKN9PEQA/pZ6L1WMxfqnjPL1m9XcWSbCJrXnsh3FGMj\ni7e3rNr7jHiQ2SANXYKZKVkD9S/ERP1ziioBlzOylld5ql6K7NIiU1Ue3O74\nFmWBip8XDdTljKdtbZXUCtSgnKtJatoW7BecjaYDge+p0onlb8KJQrCYZkEc\nAYx2\r\n=d5Wn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.8","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201216174835_1608140925085_0.8698023259962679","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201216213319":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201216213319","_id":"@accordproject/ui-markdown-editor@0.96.2-20201216213319","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"dbbb072345d3aeda3881099ce8de0e720c64f28f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201216213319.tgz","fileCount":4,"integrity":"sha512-Fw33zxt2A4MD9CxGQp63MIl4INhrbXiSKQEm+xyJsa83t/8u/5O9ycCgcJmxWlmxsUIADFyqmpGgG/n6AjqVpA==","signatures":[{"sig":"MEUCIQClvB6gvLQmQldN6L5T900iupQWhqAjEb/TWaVyLjQhiQIga9CalVa+uNg3IZu8QeNsVVpZsL9B9dmBmbJOcXAaG4A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2n0nCRA9TVsSAnZWagAAOGIP/Ar5MUQR6xuIVaPhKeNa\nJGpngBYo7/jkXOMAOLeNwQGz6Y+zW6wsr/XagEHF+5ucRg4LHDxOAfKyaQ9J\njauRBfDs0OMw4owb6ogHXADeDZ7YaQQqsq6MDuvLAVvnQ4x2LyT0YAPY7t4l\nATYBlKX71TJmaUAdCrxPbbWnBm51ViBp/RAy0PySbWeKi46KgST+sD+/pwoT\n2wb3nZ5qSdeyknMG2EL3wtzJ7+/FYBr+muJbw1aA/Yl4jf+mGf7R8Sn/GG13\nW0y7AYHBg/mwJlzjLEVnVOTZx21+Bat3NJ/TOLxMpDXhhnrNZqUHDl5L+4Tq\nT7VkqR3XyBaTS3Mfa88LaXfiwbrNOSy4hy7jCEaKy/+uCD+jFi6VU4/q7QEo\nRrb8j5pwvehzu5VAYJnfzQq1QeMgv0nbEe57KZ36mXywoyocwyEdiVW07RF+\n3DBQuE6EiST/7Q9XnkMZD+OOy4wtOvGusbfvirQkIuUyov+emcNafQkfRwF8\njwYaEGYlH6n1hDLynXRRXp1O77WdTgslYR83B3drg3xX3rZlt1rtsHzlx5D2\nkFYLgf9S+tRrljNIoDH9OYPYRL9lS+Q3WpmpeRD3+dL6DL/TMO1ebCituUrQ\ndtPr/mhXQb29QVp91cP0TAB+c4BH62mashw8CO9PbAEf2+h55vHiZMG3p3zN\n0OmZ\r\n=H4jo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.8","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201216213319_1608154406794_0.04949035627986387","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201218144810":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201218144810","_id":"@accordproject/ui-markdown-editor@0.96.2-20201218144810","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"d11ec74703ad01ed527d98b80c3d41ed3035d75e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201218144810.tgz","fileCount":4,"integrity":"sha512-sysI5IADKZFy5hX+9Q5gCK4hU3/NcyVlzJJ2TGHYY7XT0I82OrqvQRAOtAr48zBTfqmyQSig5bbwxTy9w0URDw==","signatures":[{"sig":"MEUCICElp6pPHcTF5ClbBalx4xpY3YmP/BBEHDnfcaCUvOTjAiEA/C0nSvaSXqn01GhhZevgt49fsArQnD6DHKXOwYWvnbo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3MExCRA9TVsSAnZWagAAOVkQAJj2ihzAZiaOybzjcDE8\niY32DnIMF68t38NUgctBvcjBToafQcS9tYi8GRdtnGp/cr6rYj/4Sbax/Xh1\nwmRSRPzL4fzx634ohnrJNxO77iibVnoleVBVBApu3IZWRKiyvCBGgg+/nqUz\nBOVcdKl2MpPxTv0Ew9+pNSeqwK2ohtx3Mupk/1LreeX9WvRnP/vtqSPXfsH9\nkuqzJpZ8Qw/2r2lIgSv7FwpYK4sVdblEdaPMMQW7sAgjjPBXVMvn0Qh+bdaE\nayWje+VrFMvBEfW0BpicY2IOY3jUIotgrMyGLmYU5c0KLA/ONfIhaRC+/2jd\nBa/EO/B82Fc1NppovWatEuMdBKWgpilmmsrR4UF2nqZ1HFm+991FIcXi8srj\nWdAcDGiQON6b9CG4liiuhYRUUcETTe/z60dN45yX72ZxSjGIq+OvuyXj5QTm\n06Z77rjkGN1NEmLAevL2DeONj+uBDYprDhCcmkt+bBkn3xegrtyfJsRvkbaX\nxoYIh93Ce2KYJ8vANxC23/SMjXyew80LvnzGCzVbOmhWOhIUAGv7/dGHJecn\n7XwqTDiiSIkddjjqe8vm8fonaDfJIXkdZk7Lj7VgKWli/xZdRGvlkytgq2fB\nxTHi/DSEZMYsre3pOcDLMCCfwCtoxvG9YbX6RALXW9eV17lkLGygglqGbIeg\nvryD\r\n=emTD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.8","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201218144810_1608302897192_0.6976327249967273","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20201218145232":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20201218145232","_id":"@accordproject/ui-markdown-editor@0.96.2-20201218145232","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"217c13e0c637b0c4f615b483a2755cebe4c8faf7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20201218145232.tgz","fileCount":4,"integrity":"sha512-Cx7CKTEbFUt573kiG/N3K10AtKc1FuQOC4HBnuoAWSrV74dHwVgr5g80attX1L50VSkaZ0HjwTNSFrn0hMbEiw==","signatures":[{"sig":"MEYCIQDFGxrWtIfwpcDgkXHbmeHzOMVn0c+6/VeS2fF2JXrHGQIhAN38s2tDLpV4julxiv+mAz5RCuwWzet03TKpxwBpgL8o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132488,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3MI3CRA9TVsSAnZWagAAnyQP/iUyIcjHZsI60hP4pKyg\nc1WfBGOmQUyofbyGo7jpb70d+Wv2/2CXP29jclHPKj/p+8KqOEBXYProlxEd\nN2KjuY8hH4u2c3Z76xpvhcxrThKnwHQJVfySKeoFyebQdX69EQnBCJenj2ut\n99yEA1+a4o9Rf2NEePj//tiZo0KpthGjmZpCEXpuVaM48erCGak19a0Xo5lf\n21KFsmy72xY2MeIUn7Qv9NVKvTa2QkqJ0e6dRYLkxCD7t4GuDSEhECPfyb9K\njBfYi2k0+hhmtdNypKhjKGfkd4IyFG9r0fmV5SUKa1/eH9lrSj/fx+n2jkyV\nGj8xio3VkWBMhlANMq/9n6nPdEy7ikuBiy7lVqIFyiTck2uC+Yji5Nnoz+u6\n6MpCLgYo76zs6NaL0iGf6OEQP2nRq2iC9mrunqbuyCbWgpTd9FzjYPgxDl1y\nxTcVjMNRXuAtdaINEoDM86RIme/2PX0Fwm7Os/CrZP0nURCL/nDVbRpiOLT3\nyfm4ACaIHIikvAGy1GBOWakxZ2/L3llErlkIVknhewV1gdO4MKHPbfaUnkVg\nUmTI1HOl8HCHoioXynHG8cvOWnCisa1OGzxAMJEtNuJ9F+XKIKL0NAnGVyx5\nW8iSNBlnTDysJlu43vFXgA5/s8kHc08OKZkn8YeN4O01BkIrEzCzS0TS5zb8\ntg7G\r\n=ZO5m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.8","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20201218145232_1608303158983_0.0597353135476848","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210125144419":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210125144419","_id":"@accordproject/ui-markdown-editor@0.96.2-20210125144419","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"d98cb8ed482213f8036e3d59500163434c6e9fe7","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210125144419.tgz","fileCount":4,"integrity":"sha512-ErlKyFYCr+LE/QBYb2ybAJuN4nWovqpmb6pBJA1Hia2uqYL+6yLP5r49doGBci7TUrv11R0DAmRr4b/JEhTmxQ==","signatures":[{"sig":"MEYCIQDXLbvb5RBKih3RG8DJsi5D5rvqT9Rl5en/mCXiV+t5XgIhAMVdKtBN33XK57PEJoxBtbrHYijcvlx+Mmt4Xeey6Ajy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDtlMCRA9TVsSAnZWagAAW2IP/0NoBCkjx5dX05rgEcRJ\nu8VrPl0fb4837A1hfql5d3u7bajWRAWrRrNqqhig4Clq2nxgXP1dNKnZofLn\ny1m/qYN1nyultNWANh3CxR7Z9cXb42i8vLAsIQWT8w+9xHppficobszlDMNz\nzGZTz5ICH3fm9+05gmSvlJI0brJp9gdACulCuHXEVQQ5Y7quahFuasKGETPN\nPP7hgfJ+URnVgM7erOUVLSRmiz8LaHdZ/7q3S2qEI/x56WxdBmLr9MMvs8F+\nddd/w1+5JwvJTYXGyv266AOiGmYFPRoyy5cKaSF7PgOgg+gTBUEftOvq1yWy\naRXraWHT5yaplpxqMG/g+KWOfCI8aJisUr26LrDJz77aE3ISWWdSlCCYRH6k\nX0vjPEpWyZ9qEKgKf1uTFAgGfcOUXnvFHJXgLUPJdCse67T9ARSzPpF2pLGG\nmtK8BJ//AhJ/DLA3RR2siQxvXHHkQWF8vAOobK4FCaaEaCuR6ynFXsWSfq7e\nHwNuageAItODClQDV2Je4Z/iEjggYxExrEnqLpAxVGuclJJULwQwc7z9CEEU\n0SoLj+d+ldNaj34VNx4nwK0sX8GzjXoCH2OM5sJ8x2BCq0dE7Fvpk/FT59gr\nHyEJtUxHvnFKd7cPk70X2TzWOXho1PuVrmHwniPp0aMRQUvb+cL85PLDiRoC\nVBMA\r\n=GlZA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210125144419_1611585868335_0.9991658113966642","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210202141450":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210202141450","_id":"@accordproject/ui-markdown-editor@0.96.2-20210202141450","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"c3609e0a332cc5450d770c78e5b8192388ae02f9","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210202141450.tgz","fileCount":4,"integrity":"sha512-b+UK3H2/x6MrzZV/9qwBhpiPE6JuN4w+muVnTILdtjYjHKYt0jplJWHa9yX8OX+mt6GKoYCdWGhXh5iYu4jNDg==","signatures":[{"sig":"MEQCIC07OGIIbx924ZvIw+HfUjTtiJnh3dLHqxI3otHOuIsqAiBNf9dHb3ozo6lVRQgJC6bqJETjMwouPMCbIE8eD1tM+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132576,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgGV5iCRA9TVsSAnZWagAA+BAP/2AsQ/+3moiDJ/46mmlk\nr2BCsIHxwIuX2tqrCkFTwqchKJ1Ffh/ROYuNan1V/Qb0JQjnkxD4L3sk8iSq\nyVzkogjiRxDFFpPJigc81Q7ED51zATMQsKC1FpDFdmMwJFG40JEQORwjxtdS\nG5oumz5k3kZJ/rAftK5VVkqnmGPsJOdDP1GdpOP678X57n5oX/uptno1cfIE\nF5PUd4DOfc26fvP4GaWFEz7gIw4JbWCi69/81szCCzYImXgryRyCTHJMovaw\nbPbyb3YgZxcUeROm+ipHjeX5HaxcqgaPHwfVPp2tjhIH4RngMCn75gm+i3FG\n4EAQF0e0z7JA1aTy0OIE08BRnEx2K/pLbbIe6KYu/zQxHZHM0iW8SfMYQwyt\nFj2/IHKbyEjqRHoJTfC5aJxLkHx76YEUVZHeHdEnMgjj2HpE0nnM6DG8HVRI\n5N3+TjqysKRqGLX0//7HrnBsBf6vtmLjJDMa7CR1VngUAC1J0m8XNmi0c+yF\nEuXBQUspqcrDX/9NOoT0emhkptDyA/eoa2kOrLq/Y50uwuB6hhekCYMubbdV\nzpifcr6H63kV7tcKlXz8BrElDhbk/y7xIn+aUmkiBHzKZn2/4Mz1J+JVNKT8\nJlIssYj4TvVpnAhGTneZ4ZCM5Aw7scY628VaoJqIbn+Q/yG34E+baAUECqvr\nt+7T\r\n=3sZy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210202141450_1612275297618_0.9800885289875425","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210208224842":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210208224842","_id":"@accordproject/ui-markdown-editor@0.96.2-20210208224842","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"2c30ce77898c1e1396a53f5b0d69aa571908600f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210208224842.tgz","fileCount":4,"integrity":"sha512-paEAJKiXilgYRkGas87NegnfE0f+ebSDPVq85ZRQS5hIefoWSt9a7jNtKB2Qx5NNqeDAP900PFjQ+vl/5zrf1Q==","signatures":[{"sig":"MEYCIQC+ROKgEEhC3Z4g7egNtOeI0KtMSv3Y6iWZO9hyk+d4tQIhALcpKtD9GLJgls8P7vgg/3A3DKkscdzi1lqQtW7JRH9W","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIb/RCRA9TVsSAnZWagAAt3wP/jbZqTITEtfz7i/8/701\nq7gU80RoUY+30ZgLr5BfswSs+xl2zZFpLT2ZW2aQnkiXSWW4HChJ9c6Pu4QS\nRpxrtTtkzJV31ED2hcan3CZcdLFh8vGCvDGfxJb4jeeh3yhJR2715u0EdagA\n6maTTmt9il/ZX3hstGkvXtfsTgYTuPaPUhTIy6c1lISxvE61kNQNJBz9zAfq\nBQKpF7vGZ7kDuCuvDRhpFT2ekv16b5lfQFh/lcDBt0sqWck3BUSsPS2BAZJS\noKqfJhtZutoeU4S3NMLG/Ya7hrA3RzbCcUF+UjfbC+vjcvlKpqxh8XD5ML5O\nzgHNiO3nwg6ymFUOsqXSXBiUFQvk5aaEOAGLtyp5V5bSmk3wrkAM2T48TzST\nlu7GPUMOjqdIZ4zKKwLdtCCwT6bGmN9Nx4WNREMGe6+6YT4bz8ogTVLWixg5\nXHaIhc4ZNioaMwIjEe9lVfn4knnxqz8Bzb/+sVx/FUt2PWipV8GmLG9rpUKE\nQP1cVjyVWRI8JIKy8nu9F3232jzreAWjszA+DJftvgF6FL4VWn9QPgGGtKgD\nA/BbdaBtj5IFXZzgfTn1O7BWCXJ94KfvqJJNAbfGP3MFkwHa0EAUcphVo8s+\nMH2YSC72wmOLFVgOv6DsYRRwzjAubwRdDBlHLb4y771Sq8RMvCzw8OuipMo7\nKBv0\r\n=I1kW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210208224842_1612824528570_0.9634971202965115","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210209000334":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210209000334","_id":"@accordproject/ui-markdown-editor@0.96.2-20210209000334","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"6d81c2c063aa9e8b1509b41a25515ecc92c49947","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210209000334.tgz","fileCount":4,"integrity":"sha512-+dYLvuZS32Vpr51Fd7zqlkc2kBdlWJyhpSC5mIGdLfZDbPStLdI92QAcrF01wwFL9MAwbZ5O47XyRZaV1/G5FQ==","signatures":[{"sig":"MEYCIQDowoiYvRHuUlhXsaxalJwVzRSHIokhJOb2MIcxBzeKkgIhAI1MmVKOraEro/d/VyMtX9hx98gunt5dqK+05WIGYA5I","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIdFhCRA9TVsSAnZWagAAlf0P/ArfyEsHyZMzcCaOBvAG\nHMtkUeX614iZsTXO8pM1jJOTlKs4FrG3dgXLz8Z4f2I/l4ZTbxdowrhesRqA\nykUQOAiR176MHyVpQOS2NZ1rMQntg8uzWdKZzkXOVDSfLq5Iumo5KPrw6nev\nCz9moA15cA2o2zLHjbmX8nCmpaSVEq0R+pXUepuxfAWA19XiHtSIQm7RibAl\ntGl0Kec2HYeUdg/BzysdZxRN2a5Hd+n7m3Q+VF+5a2akxqwCYeF59UGPeiUd\nn8dAOflXmtbmDTzJjHBtaCC8PMZMtMWkF10MMrSPjYihhiyuKj4r2fy7/CHw\nAwmq9atstFvY+LZqOMmlQxY9BE4YfL5owUWnexuboDnW/Fhit+eVVpQC9N/e\nrxhpj8RzM1qDvvLKiGDryqP9xG3eHGa6uUM0a+AZrn48ohzKfehYBLchUkGj\nHC3f8RuzCDwt1by/zpqui0mS3HFazf6yTKJf/duj/Z528bYxzQMn0FbC+VYE\nh1H3I5/+BHVjOwXo+9QOEhxNGGv+/CSMtCyLCR+LbIEyl+V2FqaL4WpOdIhc\nZbnhXCFWezB5TuFQgPbnS2p3UBXYZ8/u+B/QfpSna5+3HOAZCsxucDcSOxL+\nidm8qlQvzjABGPc0FhnMXy4OMpaqk2k/cztYk+qS2nrzOiSxtmVvNqySVXEe\nPzPC\r\n=CM+O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210209000334_1612829024606_0.5832068695814452","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210209073046":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210209073046","_id":"@accordproject/ui-markdown-editor@0.96.2-20210209073046","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"b8a26008c8af1cae77416f922162177b4d40d2e8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210209073046.tgz","fileCount":4,"integrity":"sha512-yicElvI+sVRVpnEYeAYMlN12Jlh/9yqOsdSImSesgR63fVnfTgl4XZ+bY95gDWqjWZvDoqZeEiBwaj5OIR5cyw==","signatures":[{"sig":"MEYCIQCjpTniL9m4GLr9cmdbRdwUVfDWcRe31j/Egz9MdOvV/gIhAPy733WWYAkS4lGpaOnEDnt6uqn/d+aq9niQIoxDIjUw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIjotCRA9TVsSAnZWagAA9xgP/3CMBtnZWCbcXCGYxlJ3\n2wOqQmYjmOVeXbmlMpsicv1a9sBr3sDid5RjlUvlYMZfoirpjWoIQc1W6vP4\n4nPv2xPSYlCKrRiDVc3rBN/v9Pf05gsPaKxvu4WVPJMBDLIHgGe5lv+jQs2R\nlu/HTUmHyOgOhFtw7pO5KMR4E5RQY9vel1jJIkeMPPRLcSisPYfhryq39obN\nApX4Cx2GqeRVoAt3YPgEYK2v3pI0Tw5R1SM4F1VpU6i+QRdxqyZz5km5c3Qa\np6vJ93UeXAd7hry3HTGXKCRv7W5dgUOWQithfYFBK5KiJ73SPUytIsMd2ks5\nTsYq/DhVREAFpOJBXPQT2zWZ5CmO832XlrdOgL/L1SgDbZim8RMhWSs+z6yt\n2OqwLNTjoNE3U/h7Gm4qiCMjxLY2BxUGZ2S5cPuZaCc4wmGu3bFJjRwjnzCQ\nBFBu6W4qzRB08ojsYMHleZY0w6X5ixRRy8EPFkB/GyKu7w9TH3dwlK5k5pFA\nzczMnNBPz2HJMJpwTefgK/4V7IfirVcEkTAmHf5YePWoYhZcuu15p2RuZNX2\ntF66aQAZ7TA9NEmiEZNd6kpQGR8pGFJGhH8CLb38NT1vhJmBR8xsQyAEP25f\nq1o89N4yUE0zaFMPs6S/J2bjhjWcbZ68Muk8+mH98NvDYD52CRSkC5jpjeHm\nwN4U\r\n=BSfo\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210209073046_1612855853179_0.16463405540493814","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210209151119":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210209151119","_id":"@accordproject/ui-markdown-editor@0.96.2-20210209151119","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"7588ad13f5d46cd5bb7b8965c70ca3ef1e5e8e90","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210209151119.tgz","fileCount":4,"integrity":"sha512-UaO//CP7Wg2/J/ZAI0qGcwDQ8uKka4PcXQX0cLkkfVS5Ai01CNZPUNXtT9NSVYpkU03cmcx0R7Zms6q0Y8+nEA==","signatures":[{"sig":"MEYCIQCFZ1SwrRbDh7QzuXkCDdgJoHGKNlWWidJrcMSefJbSdQIhAPsqoYho3xt538K73Slw5ZLq0QpEiSQX2aNIngyAdRcn","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIqYjCRA9TVsSAnZWagAA6wAP/inb6qr4qp6CsWk0canX\nC86v007Wpx1j/Jnq5XJXCAKK6owjr/EiKg2w0OZtcdnRbYPd0BM8q7yzL/1d\n+f0CJKRStVu3Pg/g5scZkIJMndOsrW1A6XcKR5Ya3lmH8CobQd64PXm70h92\nUuUWAtHueRj2myPJz1102Q3MbB81aOtIbmBg8T7KQJEaKbNMH6OTrO1qdPny\n3oDUW9Wpt6P6ehMmji/JQHGXmsmM5tGh4lapCTWd+icRyq6bxgAjcTYEvf9X\nxgMnKDm5T999r9mTLRMRT1x3CJ5Si+LgqC/xZg0z+UqWbSeI3a2xYlFfAs8C\nBrrTsNRLGHlRelM10LSgCOtDBg4J2HA1LNUPbgNNVfPAN7iLxI+Wxx9Kxur/\nrxopcMpa2fzAm+jB1X0NLwaLxkrNShTYcsxItVRaIcXY6aFI4A+q7Upuy+WR\nqM2LqMbRLAmru270cttDE21gqWaeiW7hLNjtRipEceY6cKYcuVehrtcDcuoM\n9wOb+6on8a3pBVoVJH/e+LUu9LeJq5082I+yXwaxhoJkwylRs1n0DtACqAXC\nRzzSKEdkugIFWrrrKMBR7cVvVdPcpQrndtcn2J45PlTbDakhB4CAq6SyYcHK\n6JcdpoKuKsgFPp60Fg2BImTVP3igvp/UmDat9cURnIMtz3gWSi8rsTvET2PD\ny4gY\r\n=h/zr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.10","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210209151119_1612883491231_0.7339565832612465","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210210132620":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210210132620","_id":"@accordproject/ui-markdown-editor@0.96.2-20210210132620","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"d67fd53b57a0a110b67caf2219b0dacdfa757262","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210210132620.tgz","fileCount":4,"integrity":"sha512-Y0coF/qiawUubvLySYJK1d7EBBghAhLjffv1H/rzP4q3Cy4dYPM2HLDHA3xSjoY61rSFAILXIz6GWnd4wPZJLw==","signatures":[{"sig":"MEUCIQDFM+bgzjY2j7DxscQwMRTOxW96Nzbuoo8RELdqflKzWQIgEFIF8j+2uu9cNf7k5zEz89fTRO9D1SmykPfA6pMRDtU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgI98FCRA9TVsSAnZWagAAx1wP+wXqpNkU6uvMdhbXG4Ho\naJ0C+TX8DjQYh0LhJsbwtUqpcjt2o4CxQfLVoeuqO8xVaXlSYuaaVKXr55BK\naMuaOXFPehAkyGq+pip23lm23mqEYos4IQplIUXxM3dXDWh1WQSDLzTEPzig\n5lrwkspAYemeh6ITIGBdT6WD4g9HYt9qZBACuMw4+p2oyo2THNQwR1mtUm0t\nseYKIH7SsB/lBkbzqj3HULbm3eiqSnsg9O4AHvede4waYUPYiB8gwSyLfAyN\nMV7W8CZIrtpQXkBsKO9gSTCd39+2kwSK79VIgmizVeJSESS8nGCr5Ljb3wKS\nkbgauwwXDLx1fH+2dy/8dzmXsfJ7W5HnzqZuV6zxR8ilhx0FCHmOYSiRsn5Z\nW5mSTHasCDHYG0JeRcWvCFKU/hfNLjs8cdDyjf1d2GQzNlKa6gNBq4bJyRwp\nIKrXGWFPPwYxsetnoMik6QAMBuI/EpTYNawS5/fhEqL02B7jpsg+iuWLWgBR\nsV029TYkaYuFBA68KbaPLVj/wfhElIpaa2t02nbO0mCLpOSINDv7Xpw0WmL5\nbXggTCIVE2QaGgd4kNFesl1bqrQjYklbfkl7QELvJwrt0vvF2SpD/zjYtX+a\nfcAHi7ITeq1iVypGscMpfGjzwS5OJa1To/rF+stOZdRcz3eOyJtqrE8rYP+4\nbk2Z\r\n=rNhZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210210132620_1612963587446_0.7655696136422359","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210210222932":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210210222932","_id":"@accordproject/ui-markdown-editor@0.96.2-20210210222932","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"93bf1a40cba02380cfe7c611fd590af515809527","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210210222932.tgz","fileCount":4,"integrity":"sha512-qQumqSvqKO4t4dgg6TyNclrZfTfZSGTmC8vkyniFZ3eqt+S0ecB3sbBtQeYsBA2Aschj5vjHlRjj/9sc+yih1w==","signatures":[{"sig":"MEQCIDBYB9Lrkxu8Pm/V3FrYP/0lB/W1wCOCbwWs/0ocGUR1AiBlbRuO1FzgNIFeEUqfDjAiZZ6SxXrHRBnQMq95MMpl1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJF5UCRA9TVsSAnZWagAAF4oP/23ooqKJoVp/qpVYeQP2\nu9FXboYxLMUvlJDEw7z8quHrgFNPmVoPSG4jA/hL2/3CqgxF5fMwRBYO6++K\nY5ylWhdxjE+cSm4MlVE0MN6acsh+nNMcK1UzNMtireyVXxfKB9TBj8oESBk0\nWqImFnqn+jV0o0db+YpHJ4fQjaEIBra/azIzOgr8dJvGcyE0/z+xFYS4aJxJ\ncf4Ng81HEMCOExBdfe4geoJL1TX6dXX0rhFfkhQ5l2pLxhB8484o0LjZPBrD\n4XyjsfTMOkObV61ws6C8h5XNUFTMB+RiOVFtMz1NkNZd2PLoH2ClHaFBwccl\nPuJWOK8OIBfGMkp+qphgcJLKsfp/ArTHRUsJZ0Vb6vu6bvQCIw4C5nrRv3bI\nbrxT2FkWN/NvJAO/QB7NUurUyV5WiF+XiHbdV5mK8/rDD4+6XI/vkxyIkRL2\n1IQvRND2QzU5AafxnRHnQTKFewCEBcy2xDfrxAOVU9Y0x0Z0lHmmz9XFowmE\nLAckr3yGp98IA4CFqGOzhzszPBr2VPQUiu6OqC09vhZj8/u9o7uTgYN0EpH7\nUPgPRm5GaHgluWU0E/U7UDc80ndEWmR9hZwy0SX9m7Or36HwATItpR/p0Ujr\n77cmIAkDgdcNKWUmXFrFdx6De4i8MdkhC3WpFCsI4CH6gnSVAehIQkhmzBK+\nfMu6\r\n=svm9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210210222932_1612996180027_0.43209414556930636","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210211150308":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210211150308","_id":"@accordproject/ui-markdown-editor@0.96.2-20210211150308","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"68b4c62c8f6008344ac7b9061f8f2fd054990646","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210211150308.tgz","fileCount":4,"integrity":"sha512-Nu1Xi/wTKr++yChm44FNhxvGwcvdTzrlPnuT9B/83WfDdVluVBZ1RmEwSWs5yHSk6FUm0LO665zuiZWxl1SRnw==","signatures":[{"sig":"MEUCIQD3AUGUpuS09QopZ5SgVPHn2boTH6Im1dasMoYM+L1hbAIgdTJfe50d5nEIb6Jv1lhbadWLPbnCJHCatvrAnineZC4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJUc1CRA9TVsSAnZWagAAvw4QAJNYChy0LscVl2zVBIaZ\n5wGxQap4U8P5mtbU1r2prqBNl4ksI4woxLsTr73xBuuS7iB3laKPADPdCR0B\nV9bO0bgFY2t5tIYoI7NWxW7QGCISDUAGHCe2hkOmLd1G5yb27VrM4wCpc9eS\navBtHsDYgDpYlU53SDRYIZgSt3m8DziPyrn6AVaPbjn6343bnrpmPaxmOn4k\noPsBvUxaBRjnRY1K+4OgmKKB8YB6BhpO8Y3IxngzQqAZ7v5VrtOOnUWQPzoa\nAajSgurmArQWuYaDF1biIvI6Isu8cqe/YICxmEax1wRPb8wgE9pts/lKuOXp\n3d7j1iqJp1nN6mF2RJ+LRw8fNmphSYDeXbE5RzBrx6mfcwzxcRvJeQB3A9jm\nmg1XhU1pbSFJ2n0FIxj7J0B8yfSgrAg+AjYVDsL1X6mE2qyqpPoL1nqc3Vnr\n9sOb0JTNTv61VFin4gBDP0XzFv4pvxBdAFCuERI+UHWgqVbwt9mYTZ1n1D4Y\nkooNFcBE0zquZ5axE0pXyRGsCpKQCq8U0ZQlo9wFz1vEupVz5XKdSSKIuPPp\nXeqo139jPOEwhWmNoLH701Yk8SJyrR91nKypdlQntd07nNKtjrd+718anFBI\n+kVFF8kT5h3uWv5KhVuycSs2zDQY+9wB9itnuXC2n5glCjpP5UQxSdgxLgoI\nbni+\r\n=yU8l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210211150308_1613055796646_0.3427177230048628","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210223123913":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210223123913","_id":"@accordproject/ui-markdown-editor@0.96.2-20210223123913","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"c9e16d6bd8707f6914410294629e76fa01baf7e8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210223123913.tgz","fileCount":4,"integrity":"sha512-nqbd6D7hVcr8+n7/bev4VLB2rjGWoKRRhlVYWQ1Sp4h8yvdjSJcDKWBc7aWDaSg79W2BsS0TgMYjC9hwPOnQjQ==","signatures":[{"sig":"MEUCIAevldqpgD6Mh1xp6+UVIrpRElUrLVJWzW8HFv38yJvjAiEA9Rs1o1VKJdwaKMlujItbE2oIsNmGw0G5nylBbk2czj0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNPd6CRA9TVsSAnZWagAAfe4P/RlfiJqC8ziAWuU5Civ4\nDDYj9KtzEGG0VuYYo+GTti9W5gN02HDGG8Eghqt+A1IeuOaEM7rJK9IBnFeK\nWzLvzQpyoIzenhyxdspVfT2tEn6L9Wupll34RbZaSeYfVYGyZJgBWbrplMuN\nLeT8j2xaf4zexkt5o+AsoJ7GIbp6JsyTI6Pd7kpjXhxMPqBmJEmi2IsnZ5R7\nmXLLgMzPIdnvKzl0+/+Zta66sv477LteoGgs+BJ797mnerfwF2WaZQuSWK6t\nLeY+b2cygGMGuP5FlUXflbVTvUgSpMriGnsVySegEYFZwvUwt7FZT39PbtHg\n548QE+e5oOy0mKn7a2a6e7h/aqs1UDvVQlFFk1iH0x9aGcdDVrQDXNFsQuee\n4Lnctxjya5cJHcxvI9VOeRH3kjqedykXBnX8CLcKFNYcQQcgbIRHNRhn4hwE\nzEVDX+sLRGbIMn2kjjsvfAVKRe8zarQc215aPGMcbaZdNVLVmD/sOH2Vl85Z\n/cXlyAhK+dFH51+eyzLBddOze833nqpOAleL92YHtq6jusX45xQxykcCpLGR\nh2QhgAuWI5lGQq2zRdTV5qPZ/GjuUcU/Fw3td4b9ETLSjEHT0wR0l/BQ82pB\nodPib/i+FrdeWoaShhOEV3/n/oWNmA+5jtqzRZW5nvCl7zyK7B9qoUTTFQSF\nyh1D\r\n=RXH4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210223123913_1614083961830_0.6383316702597219","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210223124748":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210223124748","_id":"@accordproject/ui-markdown-editor@0.96.2-20210223124748","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"89c34388099d68d9c003ee85e967d70ec5e1654c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210223124748.tgz","fileCount":4,"integrity":"sha512-qZXjES/oM+bBRhjsbS/eBexHp+vh1Dpo6HOQbBI7gNWNWiJsH03JWmHifsyNKHHkT6YiL1JcD3RyXoyRsZcB/A==","signatures":[{"sig":"MEUCIHyK2bNAYc4g8bPTPxyNxasPRlCuju6d3qEmC2BfYfpHAiEAsAalWZNMh4prH5pJ1RJuCQFThdvq/iZHo9oaxAyO2vI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132656,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNPl9CRA9TVsSAnZWagAAApUP/0NBGzUwftm0C5TiAjBG\njOE0wSRGfw6//qMhchGcnuwBy0GDa2byMM6RRcu8lyW/11tgBftgG8soPI2D\nB75H5qfcoMJc2mCoG+WzQl8i8VA08ejpeYdYwksmxqtIX/2DShyhZMC+d9Ek\nvDhg3Ft2dC4OuFJyt3xl1quvofXSyC0RqM14f1RkA6+Cq6vRVvyzDuK7yL51\nSyq2rvNX0tID+CcVzB0hbywzkXAlt2/+2XO+mTwCyxCKIXDlL3qF436fRmyn\nsZntVbkDi75HLzRoRQchI8/cLS1USbmD8g38Mm8KDPYWozExC0LLP11+Vcl3\ngIID1VWjTxAHSBQemy1+8yW8g5djxeQbiay9YwkaW0WrEGsroQLb6ZusEpTn\nT/WbfUcwrHK1p/ZKfsAq/X7coj5u69Vq/ClGYPYIQhiNxeZnvLx7GTOcPIbn\nsIkYYOQKtv9bYud9jotojroADjUjVPzMLH4HuC5pPe1bo9rLATfEh8GqSbgG\nW2fP3VBI4xWwUHIcwl8QZmdCnddCeEe1mShPpXmyWoicUwg+sfuVdClSiUDn\nPU7wvmIFBh4z0CqUgwRuKf0Dx31AllyLT6+R0hKWDzuVeCz/En7RlGbrQuuv\nNEgVn0QJN2iqYiJoUaf1T9vaYqj9slORDMU++YSby6g7E0/3YLLD7H5IirDF\nnssd\r\n=IxF4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.23.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210223124748_1614084477234_0.864128493224207","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210223133735":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210223133735","_id":"@accordproject/ui-markdown-editor@0.96.2-20210223133735","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"1ead32bc82b3b49e0173a203ce71b1116f2cf693","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210223133735.tgz","fileCount":4,"integrity":"sha512-5wAHsKW7gudBKx0Eca8vyMfn7VIMaeC0Qb7/h6FdLzhxmwf2irTjnWzggN1AbvCtIj17d9xYdBOxtDSsvhUWQw==","signatures":[{"sig":"MEUCIQC1beKwfMg9DmkryWnKKiWKyeJdCQg4ZVMt8cXi36K7ZAIgEKoO7ex0okg5DwmduBG/DrGUhZ57nhCxXFUZEzwX8sY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNQUmCRA9TVsSAnZWagAAH4EP/2yf6hJv97ftShrZoSKC\n9vAXwryxZASzj56zsO37P1N6Kh1fM+eRuNDvkdZ4Ox8Ba/dS19+9pVmZ2ZGU\nC0sjA8Tqt5BURNcdooJjXQrRxF2l2+OijBgXTCvNeNG3qfwHyxAB9lwXtxND\nw/TXrh8HjEXWLF+v5kzA2sfQ0tWZXIG+HKaX7hNUkezeAQEzNSAAtR8BxWpG\nDA8EFbUem2bSnkCbrAzitgZRFOmSBoXEDPHcHIkIdG9y8TUt59vmvqwxiukP\nbEMmLjtS43X8WO3Cf0Ey9F8tIszLM4c8lQs6A87tqly/qSEV2F/PqPu5uOtv\nJIS+fEMRAfyz8k24pVnEDECZmQd9sfpRpGOtNC4Xv6AvsNidMcTLI62nSzJq\nRPoQaNrVYw/iD2FUlrMXOWa1ilyWJim4cSkPWk+s9ufqcxqC8dAVlTZfyado\nfmS2tp8Dd70/C5vGky/6rFU0As0bD4Jrj7zf6Si/rDHwIJ/rPTKEacoDb3a/\nWTUNIMorAPwXVPMcSfDRxAmRsIG4mesprm5nNWxU4Kfk9F7Sk0yk0rrN4hjv\n4L9kWsA/jkLp0KkqE9A03OD2P6QbJM4THeYqWuVe6B6JZbrfsGtot1OxOYX0\nfSW/H1qfa7bmmWCuUunjTcEat5nPdzDE2uM5Q/GyN6vL9sFp6Z/wPL411f9/\nhWQw\r\n=LuOR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210223133735_1614087462206_0.65208408059407","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210223143541":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210223143541","_id":"@accordproject/ui-markdown-editor@0.96.2-20210223143541","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"a73e365508e0eb05dee76ebabef4803a3314939d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210223143541.tgz","fileCount":4,"integrity":"sha512-voAdXSe8JQcnowISKDHNWO8URTBu16rji9CGUCYlLUX8udyKBA0E4oKaqBjlm3XkW888dMPhzejcR3cXcJPlpg==","signatures":[{"sig":"MEUCIQCsFS3CfRfU9jC63QVueTaYsKnhXgy0bpx8TPdd/YYccAIgRl8UYiEG/fDVINqOpTzG6ekZxm6TgjhNx9CVEyemklc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132768,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNRLGCRA9TVsSAnZWagAA7roP/Ar7HSueST9H2Z+FfB3w\n0InG70+ruQ7wkznBvPMJDh7BWT64wrm4QhOmZA9vFhGisVFO7h4ahKtywSlP\nzsm6E+k26Pwf0d+PWuev7bvVt/rwXenFl8Ycjt79oJJYeqkxx7osgU3ATAVc\nJivEpkinQL0CgN7COEphB4KNfT9Zt4giZnLSC1jaOBmQaO95HtpUyaaQ4R7M\nxlBW4ZrJdYC2Sa7F+Cw35hS3TCrIXK4kAHNfKKsMJQaOnT3z4EtFjROcdJwb\nMKcx70NLG1imnrK8+HOB0pAP/Ps9QOJWIv0es4ryWuwom+VkIqe90SEbOp0C\n+V/emvJ6pWEMKy9BIHBf1cVMrfQL8xirXW7jLyz2x9Aa/yzvYlUJYXM9sx40\nXdRw8vdu+ajeWkAGfvom2LPfrFJfZk3wTwYoO2BZwB9xcP2X61f9ozRLUNKM\ngJ8Aq66q0ne01v+dvuyJPslK0A4k6Md6KPI1eMV0qpvbtR5UYhZ8gWbufLvz\nCJeK5flKiROEbXgb4Nx7bDtRuWBzrThE/aHEAZ6o24vrvW+brvQyiA4ASAVZ\nad4ZGnCyXVz1MZtYTFBNKY+u0MjduzQ0EPMsHkFI3cTc4HAyuHw5zGmDXbbY\nBEPA8Pa4qYgPvITy7i6Pfbs385Gr2RGO4bySpjtxp8euBUI5CW9TOHRi2yH9\nhoPJ\r\n=eIC9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210223143541_1614090950278_0.7264217612285773","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210226084216":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210226084216","_id":"@accordproject/ui-markdown-editor@0.96.2-20210226084216","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"dist":{"shasum":"f3eae62aa0bc002dd841f550c8910ff09ce21d76","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210226084216.tgz","fileCount":4,"integrity":"sha512-k63Q93xfocXEF1Kk84iZpi/9SKutrTjVXh7yhy97C1/GFnQAhYhhl0QnwrR9dLbhRjFab5pXdpe8UGxsddrTvw==","signatures":[{"sig":"MEQCIAuWjzQn0BENmfKqfsAS4fT3GtxA/BqOTtHI1y8LlPmvAiAF19xlbY/ePd1si+Bn9YXvQLc8ZRE/zESamIVSWDuKOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132736,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOLRzCRA9TVsSAnZWagAATNkP/3Ejl08lufP4fHc0K3WE\nZsMXeD8m8S9gGI1DJXNxF1iKt+U6jCDOq0/tU8jZOhoxYE7NkoEZSPlSh5eA\nbbLTzVPulSQD9bKg4REtTrnSTnWnD7zxP47QZBeXQgZhlsIljL3VEETqFT+W\nsIsAVZH2Hi0BuwhmH4uICpf5kXltBrzg1qL++402ECL3QOqzFtrFWDfCPgaG\n6BHjjW5XXFLMwqC1sWsl7n5Dvk06lyN88XM8hTk7o1VnYtZ1yv9+1cVuIsMZ\nP+rzMS9lEg9DxVyVLhOUmO8p1XcG12nA/4Qak8GZ5ZEdLZaFBLk5z7214/XL\ncGV4oJOkT98/1BBCsabrOAbY++N/fblSTfuTqhcOVy/UlhmBy+FADe+bH3cv\nvpreHnpCbnxJY0CbJUaTXlneNda0nt9bBF+CGniO1zcEWz+u/e7OGnKgK44F\nIYrn6WvQs/kxBjvgTQPw1zmU2SHWzPSmGodWEThTAe88tjg0cEQKiQtVfr/J\nsS1l+zg/V3erUhjgAOTNv45DD+E8YUcyhwmZzfnL3Zbz8rLkOIDK3SOeJgJJ\nKpFRjj9PjQ2FqaDFbWKtx+xDWoR0uTMazkj+ZP91L3Kn+Dgvm2FL7lxefDS9\n+aPa0lPA0xyRyH485G44FXjKHD4/NhuEevGqEkuMZNZXuknEsvjgJnzxV+C1\nQLXv\r\n=9uSZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210226084216_1614328946736_0.07678049705884749","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210226084336":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210226084336","_id":"@accordproject/ui-markdown-editor@0.96.2-20210226084336","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"702fce8fa56b5257987213c320b4e47440a89c5e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210226084336.tgz","fileCount":4,"integrity":"sha512-F03dys3kpWoORfRW29OIWmxdbqvD0+EoKZxWAaC1cvsGRcgY6FoL+TbdLEjmJDiYtUfJNEcENcVCWeNwAhevPA==","signatures":[{"sig":"MEUCIH1mMGEILou88ff9ds8voHE8RaNqkmOPC3In9YqYRmCjAiEA9GCCkLtQ8uq8/uL4H21T6K2ZHU169KUgUTSsQ1QsNgI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgOLS/CRA9TVsSAnZWagAA/fYQAIFLxQjfQfe6eFlg8I+3\nuE233akJoX2+BUz+MsdtBK34Xhkp+aanZ/oOirDW3PTQXdJKRdqP2+uUnUbb\n37nbCJhf4EOiPqi5S1wWwjziZ+p6hydgFu6G3Pj97sqjO302KljylS0Cygxs\n6jhLXEVuaIvbYRPtj/nLX0oaGIINfZcLFJXpiYQQ5jeLU/puppM4Z1xfbZg7\nWgzhpAagZzvrjGT0RohBtkvjJA26pKXlSA7VDJIOZgl8GtE3dLG4NCBEnBNP\neiRXoJ5gKHBU0urqU2JAAo/3J3IBh29Hl8Tb6HaNazG9Od9s/foqwD7Wa3vf\noKc91gz4h4apcVy4Vqdvf8mS36XqJXjCY4pLurr+EE8NmMUouBRfFz8CY8gX\nrrtXY7YnPYWmvbcLIv+RAqKBriKQOJt528Ht2v8LyAvyv9qdF0wb/rNRft/n\nWdUbXpvT5qzenWTpgmweqI8JfMWDpg5sW14pVmPoGYDZsf3PS/VK+QpEizhD\nQcEZwfIkYGnKr+OhwqBIDSw/wm1P9S1s7cxGsicblOqG+21Z/SR2ajyXl2cS\nXZKrdp5KtRblVpaxaG4iIkyC6ZyoF/hHhT1xzhrqQVRfeUlP44IByDHKGaqk\nGe4nNgba3a6A6yY4mSy9Aa5FCRHf8lfKqSg9WQPJs5xUnvbmRe2GYQNzlZMX\nnFWK\r\n=F4vF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210226084336_1614329023088_0.8465007197647272","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210301135723":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210301135723","_id":"@accordproject/ui-markdown-editor@0.96.2-20210301135723","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"65c103e0464d9553fc0fb4aa8d081c2a2c6c60e5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210301135723.tgz","fileCount":4,"integrity":"sha512-t21uaHV1JXhrEZ6CUaXDEZbUw1vX52bgNshSS4UdWf6E+FR9ik8j2nUv87RVK+MKIvsmMb2SxPWPvfnhsBOTUQ==","signatures":[{"sig":"MEUCIFEzYbbrbI//4EYhWkBrHBmEKj6ME8G35ehkHE31cVXVAiEA2sph3SnFgpxU2d5zhDRKsD0Vwp7KHAMC3ZGJxpqxJ7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPPLMCRA9TVsSAnZWagAApxQP+wdX0A2S3pEAi6p8i8r/\ntAAtMGrnI9KwJyT21cAXejoPYxsNXEV+p36gcIDU8gpF5FnJ4FqSj2WStvC0\n/E0TTLTCDPG90VCh0f8qJdX/loSVsqlDX0z4PXT2Vpllv2I7IKsNvu9E4OZu\n70I5KACRgOUMYpJyxHETgxyEFHlZL5FcAIRLNgzx9aLKRN05s0HqNqXOJJu2\na48be942WcjWnULODec/9sTbvYefNkLM4xKLfD17uG2CkueYyGvOsagzBHo1\niKcOfEr23KvBJ6wdRhw3/4Gxpm05D+R0ugIxVj+WdceXnmodl7IItB0Imdfz\nR+Ll1vA4w4iwZslpPDdJXS4DLxZ5ze1NVijs8jnlrTUJeI9M9TsZH23/Zipa\nV35D15R7M8w5us4R7cCeljBiWvSI8C2149NjMV/bGkaLS7maWqqz5yZ459Yu\nilVylV9HTUHItxfEI83HLnsHaVYBtFwuTCOJ8eQLVih1GPFxdWGHrhk6bOZ4\nbGLZKEmgAQlvom19Sa8gq3bVRfhEQuDJh/k9mzehz6Gd1Quc4S/7MIxdzz2Q\nVI/OtQ6IBrPywJOerNg5UkXXj4UawRRWUne8TUe1jvz3XkaZusQrhvDvcKQL\n0p565bp2G3nI95N8QWLMQ6ru0h8szWvM7EFjRfzywRopGJWLc1bulh3MUFFF\nmsK/\r\n=2pLM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210301135723_1614607051583_0.14600996462804194","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210304163100":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210304163100","_id":"@accordproject/ui-markdown-editor@0.96.2-20210304163100","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"b4be55e752b4313a9763ec127b18e41612dc003b","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210304163100.tgz","fileCount":4,"integrity":"sha512-EiawgQcXlejbYBe5SrSaCHG2c2m2iYlkmgQsEsUUIzX8nw4Dl7sAv0thhUEXm0OqzIvGsWkVM/jz/ebHAoDpTg==","signatures":[{"sig":"MEQCIBq3sAfhVFkdfcj9oUblZcVirpowzRycFKIlAQNK6HqCAiAx/63SSe2P63k91u+H+zY9oBYaKGELmXeqr6I9+tFbFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQQtLCRA9TVsSAnZWagAAy+gQAIYAkxGmrLsS7HyprxQj\nfmGh684XtcmYtzMlXkjm6cDq9lR+M5Kwf120w9mXXiv8qPLvaepL106J5He5\ny9PC6kIKpV8NlThBFMyoglKckSFHLxab+tMUN9+TghkGWT9WtCWX8dmRdnYo\nZ2GwqYcqIFGPYRBuXrM4jEuZVzzq5a6DrxoKBQ6AFWfc59ViIDB2bhWR2MLK\n0Q8iKJpiIkxQnmFE2xmbyIvt/5UREc5ExspPDAC2G+r7kzoBR7MJ+zETMqQS\nxV8U7roDdkweZdbfO/UU6Yp8HsbbIghsV8hupSsq+TJTPrtvKeeTJ+mkPi39\nctIGWZtTKrcgJFslKxIbTUyhOdOxd7vQ2X6zGGUtC9h1x9Wdu2loXurUGRH5\nRpzyha3hUgZ13EE2RREx4VebmvOlx3qqkwNm8AaOK58wIo/w7S5RGvIl3yn4\nBzzZ5ZbF6GrpKUwGg/erSK+4ACfuTZMtNi6ZkV+Lr4Hu9pqHOlJkcmGzQJ9b\nMqLLjlwQFhRve4VCF7OsNGOSIXvaON9/P7AQZS+TiLFfqQMJNcwnl4wfWt/H\n2VWooKzw5wHSbXw3yuKdjnU6ID3RRflXwBISp9H2+SxZ6Ty+EvB/wTT91D5o\nMwFikk01HPZme1msLZWyD+idwzcYNHI7pzkP2X8Ebdba6wLO2t8A/tMKGWUP\nauVg\r\n=3hCn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210304163100_1614875466930_0.24093074731770892","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210304165415":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210304165415","_id":"@accordproject/ui-markdown-editor@0.96.2-20210304165415","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"116e2c02561d7fd3a114cd734f491fac47dc92a8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210304165415.tgz","fileCount":4,"integrity":"sha512-YkFsf59UxwF9FzKxula5uxollgmPDDzb2gpyztZr0+fDJqjIswhrc2Og4XffpHjzwWu2JUrqq+7xk0SVlMZW+A==","signatures":[{"sig":"MEUCIEseUlX5iIIIouMFpAkdo1C6HZfqloboFTv6cARsl+ByAiEAmMyypIZ/iXxjLfI9HZNhQU+tFgrF4klZ0UkzBxwqDI0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgQRDACRA9TVsSAnZWagAAvXIP/j/hnEYWiG8h8CeoOIei\nXdfWrq4I2tL88exJfDEcyDchU37I7bJX62ZmGNylrT7P6AWvX7G7ALLchkxS\nT3+EE1VJW4B2o6bk8xAvp2ugpAvHFKNAR/sGuipbr0g2gUpLoozPRYcyKdmd\nrRfZuCiYzFhoKe48xgrVnOGn3P0tcX446DgK0jIia9+z9ur7zhtYAJ7joNs2\nsDLd+unUYzmDE6iKL0Qw0IrE4Wr/4HeI2RlmfFUlEqcgY6mGseHOgizFhbVh\nn3k9GMnf8026jzJaxikQ9OLBW37CSwymtuUtXdTKZDbgMEuVt6qa/pFw4b1N\nhfQHhhjU/ZQMSi1T4avL6j0Hg2WWIyKDJymEzhPgUqHh9SAjPdXzUdlloUGp\n+3eqJegANxv4aXgahjBiM5bue2Tvfj/H7GvpNnzA4knddwOrh/5BTEVfDdpD\nYfSCotWUdmLDXREiCwmFAJzCGQCIA483FH/HOLtp0UtibrQhnXvzJnVjmGts\nlLc8qmPLllnpGOAz6lTlzbX6qU0ugH2zCSVnAjqVz27zvoI9VjSGXag58lpa\nSwJ5T0TP75BqKaCe/18qgzYJmn6KLHy0FqRsUx/i2ysMg64KQOznJ5xC8EZ5\nEdGXo8A0GFGM5obgmeF1WAAXu5uSJQzvcbUn0I4Q4KZfSqcO7EGs1fNtIilU\nxeRL\r\n=XsTK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210304165415_1614876864165_0.8277115810755049","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210308112234":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210308112234","_id":"@accordproject/ui-markdown-editor@0.96.2-20210308112234","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"1b272fbd58dee6bc7c606b2aafba43c001ca9978","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210308112234.tgz","fileCount":4,"integrity":"sha512-02MTWAJB+nwIeJLVFFvGu+50pEmTg+e7fk6gkOX7dTrriABQimBjINOV3B9g56hFcpgWXyzq4A8sx6PTSnsfsQ==","signatures":[{"sig":"MEUCIQCaS+G0adLxcW0EnMEh+iLcK0CMGaPPcgYpKeBd8uV+aQIgPHyVPX8k3MIelOlevX9LIurhuywqgHDoKvOatR+k6PY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRgkECRA9TVsSAnZWagAAsbIQAISt6K7Cp+DN5lPGfBgS\nIAkJ1ShEpfb+TjDlZPLOapmhMCgBZHRlvX7c6nygYeOGd6+P5KrN1h9j1vC8\nYOUaC7/eH+geb8BUoUxVWB9gFLmV/uXkQ8gaqUSnZJSEwHBxiBD5RW3G8TpI\nvaqyOqjLkFjJrOrQn+fjNYGP675hFHqVlcHoP9gc/JkDjvjzjus9C+f1RxnB\nBkMNb+ahE35yTtt607t6h9pjmhHAmBRoU7mjGYlkhRCC15pglIg1/FbwhI+6\nTnSVVZFpDT/xI7jUyFk4U1dwJlp0Nbg6cK5n7NTRFhf12YtMByWbpmlNmYZ4\n8E61k61hK6rtBLBiBi5NTMIlVQzLUBZH/v2vMnkScZBCMTuPzh0KHfTelM2D\n6kd1K+AnNSZdNqtzQHPTY+PtKg/Ts4Nl/hlEttYSB8JAIN2yfRB1EK5EQIX4\nYfAp7qcLoivFMNMsPrjDXKb3HJ3Yr7XPe/PsmmAgWaF5KHSXb7hzwYIzE4FK\nJYAWUD5+HaFhMn08zccDIQ6iVWDietkB2FG+TeLIGak5u8cM9jS5ACdXWYwE\nj2uQ+umAX4FoSvpvUEZxsC+XRTkw/Sl/DJskKkt25RBl1vLzyLbc67eRw1BF\n/U3SqPHktfrFckvRbL6lh4LJ4uJKdjZQbijPcr1dqoq1iEhVGs86js835Hwt\nFCMQ\r\n=4eKc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210308112234_1615202563747_0.8391878559911372","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210312103807":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210312103807","_id":"@accordproject/ui-markdown-editor@0.96.2-20210312103807","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"e9a5dd92e95854b28c2fa8647cc02481d19f0d24","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210312103807.tgz","fileCount":4,"integrity":"sha512-6WtnkKPPc59ZFQ4OMkdLul+268UBUYmIJg7+nwo0DRSsKAhoYkaZokwO1PGXuvHMDV+outcGnGOj3B8ANIkgHg==","signatures":[{"sig":"MEYCIQDnIyNmQHFn4VFej29DNWC1M1wDWtKMlOQ2oTMZVztxfQIhAL0igxsCZrwfJQ1hiJNmmMG+3LyY57oOKDrHDeink//j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgS0SWCRA9TVsSAnZWagAAl1cP/3DYb3oHsClqR9XkCCln\nsy4rbrHL5HyO0vbRap/yNxjgRNkbZvUzW07yigDLcxt/12wsdIPdVM+tvLJI\nDdx3uxyHtPuRuRoSwgS7JvyoxC/nXnIAVS0TyqoRtrqgGwT3x/rpZJCTjuXj\nhgEChPeHI6FezlaKNEkE6timdHDNptjBXU527XP0G/1RoZnzMWdhi4XjbxHu\nhzFgE017B94jtYBJ0gOfW/u+1Qild0emu5LZ6zhkYvpa4VlHe9Nh/egunCWJ\nAfgZExHkK07AlXha56RybmxC14slTkjsDadw6hKmOuKvaLW5AnXoe/LOgOzC\nsRnBUZ5GsxJYHKPn2urKmtyMVEfELaKS2XqalZuNtiI/LhywuYgoPB43bGWv\nXwhFWUaaXWHo39aci5dAWr7aj3VzJL14WdXd32dSpBv8jSHrDBTqugVeLKP9\nMDtfGXr4c0ItRnhU8g2TW1VaO/dcsN8Q046biIwb7zpHgis9L5qwfgOvlFPr\nuzyNfzKw7hNmhjRvSqkY+Gefcf8xzV0kKb0WmOF/auLe9rHOFOk8Vi5onLA2\nLmUaMdLi8PGqzm9eev8u2KEtqiIKA5nwLfcu896ArAPbgRPf4YTNDCIYySsr\nZaJpmscUVoPM3xGCfc5h5kpAc3NJ7cqWogFYdpx1c0ieZaiSq3YnfMln+ok3\nf7qN\r\n=2Lqm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210312103807_1615545493790_0.9049359234419445","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210315154858":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210315154858","_id":"@accordproject/ui-markdown-editor@0.96.2-20210315154858","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"4fcd25456c29eafdacfc130c5c7fe287324ebe6e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210315154858.tgz","fileCount":4,"integrity":"sha512-OviFUIbQOgvRie7Asr+gVflz2jeYbIxxrwELxHP3W/KDjwvyhQbU3XCD9z8se7p1wH8PTu9jZHoPiWUbkOw0dQ==","signatures":[{"sig":"MEYCIQC+OapNLf1VPgEUTb7p7JytVWQlMlSKBdUkQfhZimTHjwIhAMGjxdzcb1RPjeMmc+7krVm4tHc30FFCPHc5zemObYip","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT4HyCRA9TVsSAnZWagAADJAP/j+d2dYGDDfcsqAzpZ63\nHNYkoEWZ1WQEs3LMrcMUxccrn/EnU2j9MsZ5xxZDfSw3lWOsoWexSEl8Z1Ah\nZt3nlqUIyfWPFFKUIyk2kzF6+MPVUsPJbez/UV/S626vZg1Yq8d9O92NlPN9\nXoJyMbWy3R7xCkKjzJxtvOu+6jGdlglxhcATswU7jGUqHhAkU40MsIKZlBzC\nlO5E4l01J8rS1ymLrRNqUTfyOlC/Yk+gsLknt2VJZDuj/DD/54Z8iqaghfBi\nz4HpYIHcBT9sKs98CxluLa4+uVF5gugCa3q9SNGwGT+fhf/nA+de1JegM8vN\nniti2cbh6E3H6bxyYc/e/4bPScOrJnMMg+XPjDE2YgWMnWsNlvTSy3XOUU0j\nNhn2+1eahC91nj75RVx0yIx+ha/2F4PeZttYlDq1NWGTQUzHQAreDhbrWL4T\nd1nvckdZAbdjgH3iohVlVU90PKvNArtkGfxGCuOCqrENceI2Lt0BWCRanR+w\nsi5T6m4k6JdpgFtxm/rfmzs+wvVl2TEaVgjYpufiWElYLvlcxlKxRqXtrPJF\n9TFzC02+dLJ2LbRLwRQbRb4+8vsnmfGtjg6Cl8oOd1Yb7IM3FDS/AgP9MhHp\nZBOvHGUC6nW+et1SxXPw4iAAbi54T7v7PBvCBLyzkRb6H1kc3NIuQaH8NppC\n2tjV\r\n=kAzl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210315154858_1615823346289_0.9854470340050108","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.96.2-20210315194718":{"name":"@accordproject/ui-markdown-editor","version":"0.96.2-20210315194718","_id":"@accordproject/ui-markdown-editor@0.96.2-20210315194718","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"05f05aaec6e99e87496180fac48f5b6023618869","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.96.2-20210315194718.tgz","fileCount":4,"integrity":"sha512-Eoc4wAjzhPOURM8jNjPDfpjR/f/o2wHwm6U8sEbc4Aerr3wlOOLYUPvhpFLx7kefLyQybJamr+cfykA/QOfP2Q==","signatures":[{"sig":"MEUCIQDGQgIzW2OhdsScRF0K7BlkmOt3aaHb+YnCq4Q3FyTH6QIgEalyWAoxK4jvog3VaiEMXyTj52I1YLxcdUf9bI8zy/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT7nNCRA9TVsSAnZWagAAwVYP/Rv6YmQ7RqW3s5QQjx4M\ndlUr3xNHheUf4Y5ZmV1BgrdR1WaPFTIrE+arz5KsVASQlW1ApE/D0/x18Q0C\nHJZHJURs7cMdVnhPmpK4Ys3uYAwD2hplLWMv8ymfxgL2UFqhzwbhbMSpNP/g\nvpmB0PubV4zoJCTq1i6MUPoEkTjOiBcHiZ0Gd4v/109R376AVUA8qT8XjSi2\nxFXy/kp23KVzHugvJPQTuUY5jRPq/sxaU8mmDnUm156zfkinWDVoz4XAeSxU\nBLLTBDfmBkiG3D4qvzVkrFOFOdro8RzgVol7NVPFCBUdH5erHT5Ai88uRxim\nTKtZ/mt3rT4XrMjByV1koYtawGUDdFeRnE/6q/YvBlA+oOOtDlbNsFeo/Ibm\nS7rYbOvqegDjAYoQ0N2idNgVWYOiOe0CeTXY+L2jfUZi/J1TaUHsbjZk8dMM\nSKah8rA60EW627ZjZHhrDIxKvm9g2uDDz3NkU8y2jQEtHBvyhG9lzU1MF3pP\n2RTq4ixCwj1aD0DCeEuDK/8EWY+skUo4rC02aPaX7PqgRvA4P6FJcU1/4eK1\n2NB7n8BeE0hvdx7gglSkyOVa7ZUgG+hSMzqBZJHiwZdHlqlTFRchFJRmvush\n1L6dXqWTHSsyXuIv/lz6TyeY+9XW6Zx3wC6EdWZCFGcwrTP/6yvdm/4mfyb5\n2wxi\r\n=hTgx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.96.2-20210315194718_1615837645181_0.30727651965972536","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.0":{"name":"@accordproject/ui-markdown-editor","version":"0.97.0","_id":"@accordproject/ui-markdown-editor@0.97.0","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"8ce8d394c24657473f1f10894493f0a5236c4798","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.0.tgz","fileCount":4,"integrity":"sha512-zJj8nLGJitYQ4zZQtEoH5Ji9U0F/qoO+4CJZ8rqvy6v9P6eNDVCaV2nHOvdAwS0DsTc8zh5pMabxTYfgYD8NKw==","signatures":[{"sig":"MEUCIQCs3o87mypm/kRw+yNrfr5S5NFPz6Z1jrxMiS/dv1ekzAIgQjkeQ2BQP7xPrdHsRf1hJD++IOxdWpM10r2o8qTe850=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT8UKCRA9TVsSAnZWagAAA9cP/3OrhdRaAHqq41kvHOU1\nxMIWqjT24eeWO0JC/9Pqb9UCXsxH9SlzfilHAi1nikqwqqlk8tGFBVDJrVg/\nnmun0vZ3KM7UmkxOzGLWFgEN9WEeJp6nmtqu1xdCd2kJMFzmjAL95HPyz3Hy\n+XJleTELBwo3wFb2S1IR4BcreL+d7EzuCXy9LsrxL+ZA88+XoCNBe/Wxq3oV\ncu0BEK23vqq8ZTmCXC5ODGR1BcqyHFgB1yf+kfX9Pnh0evzocMB6y/MDz6vw\nZYRPyZUiBzK1gGWPJE/UChLo+jS/cslp99/6vf83JITkakdBDMq9M7mktCXi\nvNscZHFvl8q/DLBSMunkd2EXW/oMsG1DCo3euuIuiF/SHiTPJti+YdlDCMND\n5EeUuUVOgLEGN6Hz737WSLNPz6Z+8XmGFsghpMR+MzsS+HodD8lTmBqH5bYB\naaZo/X6RbXh4HVVX5+njsx+qVy2P513v182QGL7e3/GjRO88UIAQbvfzisCa\n0msbjhV7szG9h1xJ0JaIxyrnblQSSuwVUuny/sN7bHbKGs6oF81Yi+hwi0Ra\niB/TyEsQW6eTcVUxzCkW8OYFNXas3EX3+cxIryvalOgRMA1KzoeZj4V+/yKh\nhtlBSUIWLPXr5q7JNaERKXBoEYoiXHZ/qX6+nZ5dNM6a710JYRbI8h/Z3SHK\nnQ//\r\n=ilOb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.0_1615840521821_0.18265043736194286","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210315205043":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210315205043","_id":"@accordproject/ui-markdown-editor@0.97.1-20210315205043","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"573e5ebcb5ab231d8fcb46921967f751635d2a14","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210315205043.tgz","fileCount":4,"integrity":"sha512-ogwyjqquPdEA8vmhxLE4j9bKW5PdO7/sKhGr6vPVu2958vqJAZ1y9m5SxCroOnJ6r5OIdnkMOexwVsdnrnnr9A==","signatures":[{"sig":"MEUCIQDUMm67pG1Hs8xWSz+i/4BQR+1L8MhRCrYgYidySgzWNwIgKd0TWE8zX6R2LaPVMIwruKLgy8UCjb8a3iX9e4L/RGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgT8iqCRA9TVsSAnZWagAA7UcP/3ym8ze/ZiHEXjUWu2ea\ncI9+bPXVx/N9jMVfBq8f1jVnz3TuBnIbW1AWH09PMtAhj5lQaZedU+zVXWie\n4XIwxd7B/r0SVkcCLxiRLtlGYxs0rf6QUEimvNfzOl6CcmWfKN9Qxxt6vC8A\nXKPiJpRR+Ghrlwx3O2BqDITB/WUmuWXchIImBwSHBG27rQNlrNhwYO6avnb+\nQRNAP4IsK4z4y2TUQIywRAs9AUVz982Z/RRSJzHFkO2mpa3PTLnnNXbb1Amb\nBecw4AwYYT7lYD4OFqzfyPoV9aRTNMIJPzFp8nMF/tUE61kfFvwBTBJiF3rt\nqoFIIzPhLUzixvneLs0Mljze2e0EGmbJHSnjswvaXu49YpFCli7fsBw4N5UY\nYwSvxh3eSOr6gzEcb1hTl255UQ3fTQEffWSUgKDVNYiao/qw2fnHHrkNZv3J\nTWm+2+VkOl25ig3Zc5ErwYBZiQwABbB9Ma5xN1yMZzsq/jJAEIWjkOSYB6oz\nPDtLbQN67wdPiye9tHFHm9ytesAb9BcyBysLkZ0x5SZJDsKKAKw+S7FTUYva\nfoM/haA7RH+N1d5YWRFaB4jMa323KxVKDwmUClFT8Dyf4jVGZwwXV81tZJuY\nONuZALZGTcPK2oDIt8YGAMINn/ZmpIDYYtc2CMKXfGpXBEn4K40TL5+DLuiR\n8/xO\r\n=z25k\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210315205043_1615841450067_0.6820493994470271","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210317115119":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210317115119","_id":"@accordproject/ui-markdown-editor@0.97.1-20210317115119","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"6d02bf443561260793b7797530848ea17c3977ef","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210317115119.tgz","fileCount":4,"integrity":"sha512-b6VtUUhPxIXj8zd8V1LXEH4GKBDXtA/H5NpcotGCm3CKd4HT/0uVvVcHnoFvoqEuHSstXBoM2wAZ/Q975Y02Xg==","signatures":[{"sig":"MEUCIF4VyrK0nK4EckJ338B58W4SWJ7BYRUYjy88bNySnE7UAiEAqbGqMia8eTyVfqNX89kwVhxor73Sjvfqur9G3ChuKGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUe0/CRA9TVsSAnZWagAADycP/RH7k9faVJNS5PkDPQVZ\nAR2dfshdyTXk1fey6fu2ZsRVKUINYV2Zw2CcAz3p/aFcpC4USAFS+dnIKqEC\nQVFMx3KhLFHYcgJGPy7J/oTqwHbjYgpsPbtfjBAkTb7Y74ERZRRHslht71Rd\nyZw1VkTPTLcOscKpqxrXl42F5Jy3gpHqb9uutv28+TYayUvwy60ji+zqyTKN\n6JG9z7bl0NYee/sFXbnkoHTL0Gk1pjT+JvYt0OoIdafMiJ5Nk1iwjLHqnsS7\nxo1FPVBbJcGj6MaXK4aD+0vIwSyO5UWddi4OUh97oOkiPXTFf6Fxvc/Y65Re\nDC7lbB0DAOFAV4yC4/Ca72o81aX4qJWs+myAAtGUnQOcLAkYkSocYXUcnSJ6\nE6iKHxzWF/+v9JKhea0ZaFiGzizqEEpHVjg56idA3guqk6IvFr9Cy6ZTwKu3\nM5inmQiX/3526qQk4OsaC8ss+jYKkfSyZdM2HgBqEYhzIdafDrzkcDDtJDLr\ntdzVxfz6O0/j7ssMTT/FvjvV0HDP6GSEK3m6ZgytFY3Pp0OxHicsUL1jgf5D\nRK38simYwM8ZMC76rGtc4BA+3GxirfAFS9ySydsqQm6pudiv0ERlM5t74rYZ\nqDDVhba5XppcNcsZoGRMFPj8D6lKXeJPSoNNQGeNBen4s7FKcovpyFaVBGNn\nxZ4h\r\n=QZ8L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210317115119_1615981887131_0.45219271223587865","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210320193511":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210320193511","_id":"@accordproject/ui-markdown-editor@0.97.1-20210320193511","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"fe254f0ae2c2638200ff854bfd26e7e559fa92a2","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210320193511.tgz","fileCount":4,"integrity":"sha512-EUXI49J5tv8ylUBFgBuZGjvjuiJpSKQ0ZL0xLR5v1Ey5yf0x01tG1RjSwWIkpVV0VD7gHPgEX6xB/cO10Cpk5w==","signatures":[{"sig":"MEUCIQD2Wq7gA6BEvk/OAw/MKDc+WN1q/TocDz61ypIejN5FFAIgd9+B2Z07zV5q8PQXVp1uEkDUir66q0HA//kRbxqiB7U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgVk53CRA9TVsSAnZWagAAttEP+gJxKAfcnWpm9l219P7l\ntTRkU+XzWo5n8K06wTvTBwHhdjZWGLP74jel9qHbEyQ2sGp8s1IPXbqD000f\nnRy5+ql+dglFk9CIeakQ+HTD0uoum27tEvLqMNZSY/yxrX8hDamzVncHJaRR\nnv5GgS8pt6F4xdxg+5SBDeCrjwBJ/bnHlcy+tcIf2Sq+0Gv+OPsbhUVQ1Mxa\n7bycY5sUhtsHC+HT5UAL2p5tM2bf0XlV7WPmY7H0x0un/efkg2G3m+NKeBv1\n1VetUfSeT2esG0CCkWgR8R3f9cfP1qFxwJ+6K+RFnI93c3Mz25STVCK6o4eG\nrvpeuXhzbgFoitd/vGEVUHmsn4hhEcUFWX7pKWvIOTl5TE0ftS7hqHxBJb/9\nUKqD0wnJ+ZCQG/v6ylHODEUKL7RTRxwDv4ouGVgWf18fZOqt/XT1YCPP4hA4\nUhT2ig3KRraIrkV58G/5/w7NoRmq8U+rbvvRdBce4XCkHyfTdFH37U22ySR2\nyJJKVktdtr269wIR7eSAi/JM2EBQcyQ7TcOUzfOu3w/wvcOT1Ho9hnN4plW7\nRv3KRANMoFPzZOLc6JVbnnkb7Sq8CGhp8oHNrakJ8wsbB+ux23JF4Oly2v4Q\nAYPnnT6WmzC6QOVnXqNx/2fkdUDHNt+vjWxP/RXLxCctzewF2umJ12ji4mdR\nxarw\r\n=RkOj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.10.3","prop-types":"^15.7.2","@babel/core":"7.10.3","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.10.3","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.10.3","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210320193511_1616268918936_0.9204774011966521","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210324113711":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210324113711","_id":"@accordproject/ui-markdown-editor@0.97.1-20210324113711","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"f1eacbd9cdb09b533eab5622dc5e67e0443c1964","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210324113711.tgz","fileCount":4,"integrity":"sha512-GqLAfkIxDRfB1VjaoUy8H5TiiAxnIXTI/9rQwBDgAis/1lCD+UvTNPLapvsSvnnXC5GOYWRGSaD1Rw6inHoUcw==","signatures":[{"sig":"MEUCIQDKvLO7nmvpbC/dH8OaXwqLRE9SiYuc6m/UfIlQFJa/ggIgRrLAVNLR0nkg/hqVfPebTTS60eQpWDjimIMuD4zGrRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":134045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWyRuCRA9TVsSAnZWagAAzwgQAIqwqVT5q33lC7EmLHBv\ncGA8CEfKu8kLetgZvYbo5MdwlBYKaHekM8CcnaWlkDil5kDc5Be81LgmMH80\nOI0dLhlcu3zQXsSiJm85rorBQYyQh5XGCnv0+BIP6oj9MW1K2nMSTe1WxV9a\nt484Utem/Wqq1LW0YW+7m7BpnUdb9mIMYggIIuS6knsvMvs9R8ksvS6NnweJ\nobRcLzfBvOrSrCS6CC6gN/ifwmXLb5qAAwwv57DZVTr3JyR3oBqk80hkNXU5\nJjBaoJLLQ1UrgZDfZSAIO0/72u0+EBanKVjPQvSzujz2knY5xsVg/pPaUiL8\nRR7PpgfmNfhuLInwXoqlPFHRz+cG5MOlyybRRs6FRbb9V28+VEIMQ6UCS7AQ\nVWIlf9WOIHd5ZXXpo3e7TAgPaWAeJWdguflshwQrFckhSEQN7Cjoz4O8xAAF\nN4tVyEnbY1w0zFp0gZfjmXz4Ocvr1L0W+FF8PlteVXAmYaBo5whQHIc7oHLl\nFr8lD75FhoR/WNBdK1ObEoSpbatXp2m9NRdwI6nTvOFuDYIi36eCBl2t1mKU\nS8Vi1M2enDHh7oOy+ODF7EcxDq+J4zT9DNFACYpawysBbIW027m+FFUz/THN\nh+/tASbKUlU8nkqHtikiTaHvB5SqQP8cLOcyKQ5sr/sob5SKXy4N+wraFAG+\nUVj2\r\n=nvQG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"10.24.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210324113711_1616585838253_0.22395183129002572","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210326144727":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210326144727","_id":"@accordproject/ui-markdown-editor@0.97.1-20210326144727","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"24957553cce531a75da76ad5005309d82cb110d8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210326144727.tgz","fileCount":6,"integrity":"sha512-n6hmgOaXv6mtFB5RdVHvkrkBg6FeQzMx46q2TxhJ1nFoERVhLHKOcbM/BgdmiqDDreLQ/TNeyBFokTGwP3wH9w==","signatures":[{"sig":"MEUCIGEnxtySyKEmb8HJn+XgmmmJk9PePbN/Rsn0QBZq2yzoAiEAmGf9BxpT585wwVe7fhhTe+jMqAUhErU60ZDYAY1+i1k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXfQKCRA9TVsSAnZWagAAhMwP+wRYeY2k9E3JcNgLCyGX\n/N6QtnhoK/Tr8WqQcxsjMMuhgAs6Qr8a712Hi1RQdDd+H6PEsHdi7QdhaGge\nEMYaXzDRXSomXrZc1ZKhYKICquaantCR0Jy2u5/JBg/TVG9arYi7fOuKY1xa\nBOXRSuKNlgenZVQ4x7Z8O/Nj1HktqdbW0ZS9RfNP3WR2xrC7bEjdnKdwDdbs\nCnduqlRodNnDTYYTSSposP84D6swG/UW5l4HuBtGiu52kOgtzr7RCFoph/E+\nrZvZzzH6dsbvRnE93DDghZeIc7LuAUABQeWJF0q4JwdfJcoChfE2/CJ0pkiT\nnJ1T9fP0QCkRN76enwOz2EfhaTeB19qvs2iw1V65tEOkq7AGMi6eH0gs8xUx\njkaGLjGfBL2bhDNDsIrbw3X5FRfMHlFFt3tCEJyB6nP5huNo8+Rige4aRV99\n+yrEmmkFgr+yNL31K2ME+U124RQM+z2mvvqThyTqBQMNAo17p4WMRaKBewq/\nNDVsVlGTFKSNXV+fi+ktx0dy3NFTnHQwzfiw9Vh9Ds55fp6IV7UvxOnAto4Y\nCT5dy8VhVHjoOEi8ojUxNuRYWjp50zbuvwx99nghAXBIbQklcLPAUfa34/2W\nJ1tCFdXbSFgu1LztnmpyJIbWzWeoFPWnz7byeG4ris48O9ECmJ70+aaLwyqw\nMcXP\r\n=cKma\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210326144727_1616770058478_0.8247159733961786","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210326214338":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210326214338","_id":"@accordproject/ui-markdown-editor@0.97.1-20210326214338","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"53a311e73e3dc1c2d76796aef8a79ebb4739b852","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210326214338.tgz","fileCount":6,"integrity":"sha512-BSqHmFTGWamZjaYGNFGiVzkaWpSWREcPvMnbhFhS2er3lm3zh3ubx+VFKjHVs/J3V7OsRhvA2OvJ+CdPQmhNiA==","signatures":[{"sig":"MEUCIEZmW8RcJwYPjq2L9nPPFPlgWD12KIGiyt5BgfUBMtw9AiEAn0repTIfN2XJFPDJjZj047ao+uvJVdH3QgS84957mO4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396015,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXlWUCRA9TVsSAnZWagAA2jcP/iTRxqA97EOnN2gxoRmP\nyrefZZOPjoQK51Z/w6IL/DxfVb2gFPfSgjNZ40eEN00r5GvBU5+fYjYBbKq6\nTikc/xf882pDN2P5icGlKxTzYlHmp+EUM+0uhgQlcXgRMfD88k8F2bkj/TjT\nEB7ovZt3/J1Xba0EZcY7QDO6t78dZy11yYm5ZofkpZTeqd7TsOYiggVE2lsB\nxGXxqgo1BYn4uZC+263kxdDx8WLhSKMz3mq9MCYcA+Dq0gfmi8/+JIOom9oM\nZ5hO5Wa1F+0CS4LwJfhoy0W3a2Rzhoqb/HOcZHnwyqL6SbzRdemu2Gbm1X8G\n7UB12xFHgzQTSDy/yxe/fvXKwEcyT0yBBZ0Xn1HyrQ5t5XDYBNu+1f1oUnTD\nfUXlcxqkYIueQaB1BAIBxGlx1tmGTSu608Rs1o4aXE0vaszsNpGcZCFUn/xd\nXZ3fqVSC1zQ4idowKmUhlUtPH1ene71azraql/yZHPrgxmPXCjCQxvNBKbyS\nxIchlzc9rJCV8jUoZUan7P9HeyHXzflRyOnURKiNm2ezJ8BXf50lUY0+ssLM\n/Kz1qdEFyw+uuMEM0bVkk4XTIAR9+zCCbmC3bqtVV4+DU1Iq0XG1DeBCbF/+\nsfiInxkOQv+4gTC0Gib7pjHlei2SeNSpAzQFYLWpyWvCliDR3HcStcxWL++P\njHxI\r\n=sf88\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor)\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<a href=\"https://www.accordproject.org/\">\n  <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n</a>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210326214338_1616795027187_0.7240938435775772","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210330144313":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210330144313","_id":"@accordproject/ui-markdown-editor@0.97.1-20210330144313","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"846d1adc714c81efbed0feb2b98395c1f71fda54","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210330144313.tgz","fileCount":6,"integrity":"sha512-b7Yx60ATcmC/7ZB5BvyDyZST9MZdunxHn6PHSlnnFl71SDFyQdxuYMWUgJPAmiyHLyQjSLHEbMj+dV77TTfW5Q==","signatures":[{"sig":"MEUCIQCDklQjyRq/DlnB6whYW4+mye7OVKLo8s4LNaxfrx+u9wIgAaAzkAXC5dr5O+JgiwijxjThGDJ4yZXX3DeLZYtz95A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396258,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgYzkMCRA9TVsSAnZWagAAjDEP/3rDL1AyvtXvyvWdiN+4\nox1FOg6jKb1iw62KPj14kD45If27iUlJkC97BoTuh/Jx+kMEdpBykaLJzZq1\n+RhY98EifqUTn7L6l3oU5pxK6l7MyQURbGchoJE/yVBzllYA5fNIGyhBArSo\nPUpDOgzMP3Kg3W09qdfmtx9AsAxUAUy1bwaoOE35jp5T9i6fREmniP+5ZT57\nm4ARYpiRqlBFA3ipa9T/gd+YL+Td6KiGeWmOUhrsXPuGC9RIQnpTuvuk0RDa\nCvb6u5S9U3NmbMFqaArnkDYO7bLw6nN2o2hPK6hwkWhhBfVYrXcOq1eusE8J\nD7lrFtkD5IMa4CwyVfYoXkBL7lG+f8erMtE1AKWP2J5K73MOfcDzWvNixa2U\nHQyNC+jKI5mqmXLPx2/Hg9gCZFeIVaUVdac6fhofLUUOMkQ7N3l6omO+V6bA\n1ml3aoMdYoTh2zYWWdlJRZQvIv/o0ExAs+aIEvN73xmaqXhgKBi4OpuG2V5E\n2ZMs8iUOCnH7pYXBVLah8/bjzM+J5H3Hs87iWYi/4h7zaSE0HAu7E2EPnpWk\nY/VWZl62Aqs69UgoayGqaDmcfq9FOnQrUAx7lNvQqLmi2pE/UwQuUxHJFE+M\n0KcGWldz8+GqBkSb40ryHEsXbMkaRUL87LQ4CQ44AvdYGBHF/vdikndPxtzp\nFtQM\r\n=5wkJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210330144313_1617115404319_0.7070558792537025","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210402135208":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210402135208","_id":"@accordproject/ui-markdown-editor@0.97.1-20210402135208","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"412f60577c67c327f56e8dff147955b07c80907a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210402135208.tgz","fileCount":6,"integrity":"sha512-IkjpzezQgnuHKfe/C2cxTSmCYbMe320h03x2ZAIzHcNQC87DC6o9dBgB7yjKT0Z3pW0PYST44ArTo2SHJNrqnw==","signatures":[{"sig":"MEQCIEe3TvAUzSyGykJNhDHaqpHw5339IDtjY4RDpG0YMXbKAiABloBO+ZI6/KweLvq2u3DlgM3HnTIAecjdDZaQiwHxog==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":396352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZyGSCRA9TVsSAnZWagAAb6wP/ib/mLjRcrKK3w3A+Io2\n6dMD+fudY0k8EOS8ZvTkywgquzgkX0OrJtVlPONIWF8DwjRx6Dx2rRNGXWtB\nbV0vM5P72qjE2CfLQtP9wScfKzdTZ2eUoqw4+6+g2qeMbuc7KwDM2XFeVmah\ngt1hE66wkeQk4SOOHfkI2+nEFo9DyGP6n78jVh+36My11qC9JuTc6YL7zWAH\n2Yz6G7yiI2NWS1ZeUJy2XkUk6fPM+Ko5SsxJFTBkOk5I1+VXuGwuC8053RjY\nrA0P151lveJQ+jpXvNey5UVMVG5B2R7qOfNGyZ4NreLJUOI4uDe7+e6z1tVb\nbNVZf3bNLKwcDRGQYoCaqO1axH26igh45BS8yhwv2F6xtCLH18RT8EI5n3KR\nju/AJV33A+pzM0pZRbrCQiDa1YWPwAJaSXQRY7Yjv9kwdT3s/4zOdEVEGNov\nglY6JPh+KH6HvSywj5ZyS5EF6Uy4hUMmePbC3eCt9UfuhdbA1UAw9pQWByiF\nzODQ3CqmYY2dPKt5pnNZWa2uSfbzoEeNbkM5Uqd75egdjatybQK03LIv5jM1\nFvepdbIdcHvkvebZ9/OsHMJw/6j5MiaC9ih+Rq6vXxApf8bZ8KJVHt5dLPx4\nnXnld4RRGr27tO1CENQtnpqiGKAgmxnpEh2nSvudIbM1nWoAQMqBalfI9HUJ\nosio\r\n=IE0g\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210402135208_1617371537618_0.7088508777502835","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210402140647":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210402140647","_id":"@accordproject/ui-markdown-editor@0.97.1-20210402140647","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"4f71cfa5d8f41de261df4ae9fda6aba2245e7a85","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210402140647.tgz","fileCount":6,"integrity":"sha512-VhL2V7Gx5/t04BsKYGmexjvCTWVdIuKn4NRVM56RqYJtbEhreG4QU214a4PdylM43jgT+OZzfULmyiqHW/WtWQ==","signatures":[{"sig":"MEUCIQDshjqwYD2QAtq5a0cHcuw4jIZaibcKsMfnRcnYV3JuAgIgR59lofG1+L7za1zfzCyy158Hb5ZSa2kGfi1UVzYalMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZyUCCRA9TVsSAnZWagAAW+AP/1s+GsFkE/OmA5BTHePW\nm2zFhVun7rnruWLoi7p2nIY7CcTy3kkC+v5S2mcJyMfB9cSLKlmpw2KrfmWn\nxsfwidSULjVIaWW3kAXFIBVlMrwAvDpBUlUKvBs6U19Dp0QHZW0Zg5mVlx1X\nsU1j8C6KfFIiJM+xdgghhJ5QIu3eNqme2bu7nVNHgBGyHGEWvfgfpgP+3zyz\nAdAdNqEeNnzXm1g15yNjJEDyk873Q7WnXAcj8Oq8voMVQ6b3TS2pj4RpBLz3\n77fH9mU/VaobGGQKES5xaCgFBJr6cGNzedo0EClEfwQgig8Dbr+DQ2lK3eDA\ndCEDqA7wp2kG2XNhwWxiqiNLfP4lbWsYpr7Ex9Ud/MExChP2WyQRRXlyYrfA\n5kWSBHW8a6UdS7u6+aSa+c2qOGoahiPr50qITdIfUJnMRI8k8MGEpP0eq2n4\ncLNVg5oWMU6zbCAmZ/7iGnSrCRDRY6kG8iivYoUAM9z/zu62YmHlzdGo24bU\n8H0T+/MMI1y/qXgCbPGbWnIk4PdS+3TjDXlqVxm68m8Rtl9XNfH4H5mTC8Xd\ngbCwQl/s1//dTF/sbq2rY3jtjJrfW8Qee8G1AnAykRO+E4yC0yNHFYwaF4QE\nLQp7dUrOtDiBno/tobDzE9dyt/2KD23GcBCazrIvWDDl22+S/BtXXRbeZnbZ\nvpmJ\r\n=BVEL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210402140647_1617372418002_0.7499685303471093","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210402141339":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210402141339","_id":"@accordproject/ui-markdown-editor@0.97.1-20210402141339","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"69234d41be699436ee1bb44cb33f58c304398a0d","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210402141339.tgz","fileCount":6,"integrity":"sha512-4PLM5dVrrqFns6dIQfGTvPU2ZDw5b6ABgpzImldA2/fwJcBEY7RyNJXhtSDOV7DnojXPu3eTnLM5Aj5PWzhYkg==","signatures":[{"sig":"MEYCIQCo4u6Qe/mKHxWBaVnwRTtuIHQf46hey8GJ6uf8bosvGwIhAIPhRBwRVxDxUSs86PpvCtTXpZXL6nk6KcLtcF9o/Ebq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":400984,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZyacCRA9TVsSAnZWagAAjpcP/0t4Op+bxspTJQDV0eNb\nwZ1Q1y60/daT0AmkhS/bc9TB2FAYM0Nyc99LKYzFtbDq8tnzfo4OdCpsTQQS\nkCAru/9VdMz2FMLV8OkY9uXHr4kAW0ML/89+9StwSG7ffR10zq4TkZZ73UeA\nggIz+1Zdg2R9xWEkvz2mx93vWirAMSBQ+0qi88K/Fc4oC93i9EOhDjQyyuB/\n71XP97R8x1i7khy5SSP0musP8cg0J4IVcO4hedsVZAh/w4sTkkDcxnF4s5gJ\nKHHvRW0vXuHTGTuD0N1jmZ2FfoLJWGU3rHlutY/No0yAKDYa+hye62Jsl14Q\nrgj/7+S5nJsOIwgqLWtnD3KHJ0xQ0/8Fy7F7A3V/BjMbFJgcdvEeYEo5ohBV\nvECVyIWayh60mrX+LsNKCv3h2cSQJL5DlvIz+Ko+JUe7+6RvS2yz8+6Xf/qh\n1g1e/SziQMRnXZowlBLLQQGxe3fMbdVEuhNA5ziakf6ZnySDpsPYnc8iM8o8\nTWsrNhqAmJU2img1oRqNFQk4yj9AtO/A4ZWAaajo2LLfRO1PMhmAENY/rOuq\n8ocEUEtzxHPx6sSomkjfYteki7UEs4s0Q8qOKGEwqlP6SglQOGn0+hajfSYD\n/uCSbHbfBn9Qv9tZn0Zq019ZguFd/ZMVvitCANRbgewn0NvMu/yYJZj+bjxc\nkxiT\r\n=T6Jm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210402141339_1617372828241_0.43902847923267596","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210402141804":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210402141804","_id":"@accordproject/ui-markdown-editor@0.97.1-20210402141804","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"70c6ceae38703287dc424e153fe9fa6cae55c464","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210402141804.tgz","fileCount":6,"integrity":"sha512-O6Rsn/heSnZVO1lRO2pWjWnYpP4+uZIN6UGPDIPwJzE+gEB1CvEyO89FUYWJFnQTPUR2au/AZ13U20wi5JUVaQ==","signatures":[{"sig":"MEQCIHAUYj587xhuirob0xmO4pzE93wmW6c3pQw5jJgqPsQ8AiAuFsWKu3j2cMXfLmArM2U7R8sFOypDniiVA0nCe8fysA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403506,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZyelCRA9TVsSAnZWagAA1wwP/3Y6qlFrAepeCE1Mle6V\nXAAAtvctiej4RJ3dNFfhKE5r9cAY1NYWnjB1vEXXnABvqZg8HcImMvOFNtI9\nMUH+mjIWnMJ5q4h6GnPcRscGyB/wLICeH3bM32Uj7T1wWA6slfF2iiWTtz7n\n1KpIREqMhiPvFZ1AHJo+U9No/XjwqNbVZdHtsC8Jl3ISFL4OeCwCBbktML5m\nbXaHJMbEjsVEfU29dPVBrsZJwQtHYz4U1jfqOiKZCMU7KvemKSympRazDb5A\nwkKMFgINrm9MuczWW6ITgE5CIzps6c/CmYEzoI2h66QZXgBXuNqSxM5WJsQL\njruPiXkmlGdmcfX+tbta1FfFov8SUKEyLYYUkiY4uzJ7XRMBH0M5f6f5l0ci\n36ksGzl1zspXZRRFptqI4UrkyROlk2G2ss9EwpVZJCyY3XnZSufvIrXlrVHG\nO0zyzpTAk1TycI3alZqvER+T/6zi70V/X9VuARNhGfRa0I553+4JzoTr8uOV\nw20GArCR2IET0d/XacEYKwajMx0DGp2DyHwg2DC3xCp23dksNx5pa8G7ybOX\nhTVXdhoaQKxft9Di5LfI+Sz3gkOKy5oyZI9VeNKD6fUxrPU0+7+Jkru83J8N\nF+fCkmfGqtxQFFGmboQylx4x35VBLHVhrP5V//1ks0QU5457o/yMU5ej/Say\n5MXA\r\n=Nm8C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.11","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"^0.12.12","@accordproject/markdown-slate":"^0.12.12","@accordproject/markdown-cicero":"^0.12.12"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210402141804_1617373093091_0.9168083935777516","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210425133850":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210425133850","_id":"@accordproject/ui-markdown-editor@0.97.1-20210425133850","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"a482fe02f4ef286848c3044ddef50bd889ddaf0f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210425133850.tgz","fileCount":6,"integrity":"sha512-vSTtXM88hESvK8qCu/vp1LPcp4RRhHS89audACXHaFuMIn5ggG7DSyWPKrP3LXDPqbAQcEwqTQIbCRmlDTtwFQ==","signatures":[{"sig":"MEUCIQC/mJE0GiOSalvOnUCFCSBFhqOxaZ7xsSR3CQBPy6AFiwIgA66bmzbB3zV0BGjsy4FZ1kEarlpt0IFK3XbftsG4LlA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghXD1CRA9TVsSAnZWagAAX/MP/iGVdHtH+o/wfIS/qr9W\nKy9KTtHY0FgocCPJdTx0p+DonQoKXqUzb+7K47vIHUBFZeTNkKW5a8lx/C73\nKf9tD35QjwMnWDtRw7Y4J87ZBtqvnPJnoAnS0FIq2eCW2/irOcurSK0soGfo\nRNHuz8HycSq3KQ+sNQNStFs5wl/wuDaY9tSjy7NDFj9qnTJeqkBGecSFHbK5\nqhhwhRolBUIBXpfLpcJUK7oggo55SIC3EZJkx2CKya/gLK9Rxyp9TUPyKv9Q\nfQk9qMI38irVHNX8ssvWLZcZCZ6zOF+lWvC4LKcFTxgetzN15hqbbNH0EXPn\nKAfWe9K26T4vFnn8AXIr88L3p/WMXZJYJsla5lCZPGmjc17U4RH8y8EICon9\nL3bWv16YgMG2ehXza1QhgN9NpfofTq0KHbyN8lRsy6yxPpXOwU3D5anbq0Lk\nctI/oPy8vSvXlg/aXubsLeSSJrjqEEB808pfVYv7NmumnQc7RfiF1MfkL8wp\noRWklqDqcBi6T7ajJHR54lpS1AYx/6p7eX+QuE9T1HLRutmqazWgEFTAMAMr\n0kjUec9QDWIQhArjD/HW3FIG1fJyzICcQMkHslvOxKCu4aBA56ppFj0fhDsT\nHMYd96mcZXc3r/xLyF64+1GeIPBG1Wqbpl2JKluxxftGAodYfyhoIZtEDuhn\nVuHJ\r\n=cbT6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0-alpha.3","@accordproject/markdown-slate":"0.13.0-alpha.3","@accordproject/markdown-cicero":"0.13.0-alpha.3"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210425133850_1619357941074_0.11755565596956341","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210427000722":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210427000722","_id":"@accordproject/ui-markdown-editor@0.97.1-20210427000722","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"c08db350bc582485f01b1c4f6df465d416a01f1e","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210427000722.tgz","fileCount":6,"integrity":"sha512-QXJJa+TlJMxRV0yZUYSjEmwpY9AfGY9H9KIUxn0ZfwjIJ2ejtsVknwN5D2vnq/wX8x6HicMtQ1sfO6dxLM+MAA==","signatures":[{"sig":"MEUCIAVzYUNxheB16GI5VjrtvMlz7JUCCujAgATKBC828vyBAiEA/nGnwzL9bCvtv1206O3S29Z+SOJTYK/7rhA0xk0qRbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403524,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh1XDCRA9TVsSAnZWagAA/9YP/2Hy9/5msQuHJtQtlHgv\n4JMVBpDQwJD7EIJ2D4a6hUs//ijt5usg7n8SH1V7p3A7PMMWKFWw0rRKcSc1\n7kH0EUfYiUVwYQy1pi1zud/T+Ai9GmmdkOA9qlC35+ZHk7vXY2zOGzXuwtas\njA7DIe7Ga0zNh96B2U1nljtk+gJBqXzoTgZeLXVVxunL7TxKzzrjWEWyIWTD\nGUUw0JmIyD3YRD4zAG9o3ISiYksHbzvj4pzUBTmB+r7uPDAemTwnZ4Ko643v\n/di3e0y+kNp3PewCCpxrsBSQ99aIwh/IvMasoseKCO9Z2yiiFzDM56xy1+iR\nQots8myXlwHqBVq+kQpEgvhHgbLcnDko+VE+3eIgaUPwpYm98JP6EIZkk2fL\n1kSsAi9zLWqlbfGFBhLVnmqLMgQztFD8M/Vlgmp8ysoO18UcL1p3H5WA5Fej\nMUvdzcMjttwt3RTa8jIDJK5aLK1oW+p9mc2lAgrxyf5mUPW/hQzlFUre4U9+\n2Ql08Im4rkbJN52i9xfug3amMsZe4X4zpTiorySCYLoRS3+Qe92MaoqHkcf4\nRJXcKu051bAXa5bPO4eA2X+OxgUZiXu03/nEEi075yYbpZP9suxq8Uho8EvF\nYyWgmvLGpm32PaRcoUe6L8JdhPmpRWcv3yXPl5KkkmPegn5aEs/tzKsm8KdX\ncxP6\r\n=WH8o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0-alpha.5","@accordproject/markdown-slate":"0.13.0-alpha.5","@accordproject/markdown-cicero":"0.13.0-alpha.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210427000722_1619482050431_0.029036717205271012","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210427173530":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210427173530","_id":"@accordproject/ui-markdown-editor@0.97.1-20210427173530","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"c3674202df7c8a1680edad9817cc852a66e9f829","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210427173530.tgz","fileCount":6,"integrity":"sha512-7rM8sARjMc6qsKxE/sPNOeihGKmcMKTY6nFtSBd93YwQTZlCMiQXd/RXhA0u0MNv1mPomW1My6poJYy7HjZnUA==","signatures":[{"sig":"MEUCIQCMC9eGDESOx1BMNTInK26GFjXo2dMtJBgnCx53HNxlKwIgDyB+KftgX2MaazY5vxoZetwil5HgGlQmc5XkW3P0dOI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiEtrCRA9TVsSAnZWagAArvcP/0Gqw79GwXxqRXJ0GIiZ\ndOaqRNSknWKiemRaZnh/lJmHqgpJYN24gdIaZoDKxG/5gi1BGrmbE8WJhDGB\nHoBiUGAQFXL+Q7MZb/iE49NAIPj/mOUac8mpU2eV6t9vJ7FLxcYWCjRgjFiD\nAgB9ZPesGAExV1QaLiiRIuSis/O/9P52zKmj8R6AYBe2BHYadaNjiUKmcuKj\nz9/EWk6SLCctVTH6ukuyvSWYOscgAhbSC5Dhxu1rluLqzOq+FUZfARN4MaGD\n+Cne3m1WeezIpnBzczqfRZTG44gtM6AZ7KlB1Q4Sj47rsv4YA9SXqzLbD9As\nTf7qU3OA5vfT5vgEJZyBiDLzxtLdT6ZuVrYlehRmJwzQK50ax5FOk/m9ebip\nby6n1LHiPtrvPDlwz3Kq+ZX85LXz+hJkeMvq6tQ5P+ufBUqP/RTCBcX+Dett\n4zS+TWevdUMHmB1kQL5WRR3RomS/OVM1Z04F+im32h1KojcUabiUlFdhLjwx\n6uziWi0Cb79+6SSOdHltVUjcx5/gvKQ3mFNNHtS1AdMsmgnFudAHYY+D076s\nPs4c+CX+E+zhG+4oPIl2phMU+rA5JVWFDmmMQDUNuJQLxf1iyBgGf6CsAVbU\nrd7nVYr4W1Db5z4nUqIXB8ORT4jl3/Q3mYVY55ytpG7omw+rX6a9U/Ns3b64\nHeyb\r\n=MNCY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210427173530_1619544938651_0.5837713739221089","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210503213708":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210503213708","_id":"@accordproject/ui-markdown-editor@0.97.1-20210503213708","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"34575e7dc765f33e0f5a362974cc62f70e18b0d3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210503213708.tgz","fileCount":6,"integrity":"sha512-A/QpbXq8/hQ5UVJ1ZmsvHxLipLcL6C2IJHHY1A5qxqJWd20H85qnkX42Zcuhw0vYvIK8VJsoPZmX1xsxd0zNzQ==","signatures":[{"sig":"MEUCIQDRDM/Z4uf2dvcwUce1uYHeAH1GzkngIEOgREENfV/TNAIgO6Yez5m+DFqeWjL/IU22AUClLgJ/xqkS1uIm8LS6Ou0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":403500,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkG0MCRA9TVsSAnZWagAAymgQAKPMw7uLRGlRk1q+1/dq\njAdjFdSAg/iQt6B/i21LYkrImAJ3x35jOhTlJkECKsiHzQJXyb9uHP/6/xBx\npbXwaQ8RHPPlJeF0R/sHW3++BJuw1CYK16RaBxpDjy9dXUABk/eOPaR2QegK\nmH2r+W+tTAHC+chW88Jl4PQ9A1KyfLrhXcDR1v9yIMBpxdbXeOPUl4PIx9RT\nnQ7SOWn9TdoPjpPFDsyCeB0tOEqlRi7od7qp9hTRzsPFEbycdE5+Xtk3yEFw\nR8WgCMjfn0hVOBxLE7xGVGlsBFZkuRPosxpyweycI8TQGssB99xHBWovyHAw\nT5zhb4Wj4HmR2rZLB7pVyMlmJ//u2tGoRVT4pyDUWOy1ee/RenMjg609KunR\nt8oXWf1CQd7h2YpDDF+WD/T7oKFulScDOOvUoMS21KaAiBTaoL3GsmiBK/I8\n2Wy8G9LhMofZsX4yNB3Yruob+MeuX5hK+ASErZ5bIGmNitrS36C1ocKRjA7e\nSlQX/zuicDr+LfgnCFlG9RkXd9ZS1gwbuaMiBN+DDbg4p1tjWKdHCeTpy74A\nbbp07w11Qv76rGcgNyiIBWCdr39MpYtmL0VgbuZMbc/yLpFGlHd7lc7DQ2Ci\n0kByxk/p24rK5MFoDyBGTaQF9Nr5lyVlAloq03NWupLTAYwNEOzi+GxedKKG\nJn+B\r\n=A/tC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210503213708_1620077836283_0.185935535818186","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210505143034":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210505143034","_id":"@accordproject/ui-markdown-editor@0.97.1-20210505143034","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"782321eddf98340f3a03ba10f9474f212b719178","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210505143034.tgz","fileCount":6,"integrity":"sha512-EGHK5ZBTKc/wu1nmG7agThIzdIlN76gLpWntwCGeCNDbSXgtrRPE4FnUCjOj10Rtlt3uW6Mx9vaZ/3ydvnqdwA==","signatures":[{"sig":"MEUCICYA5vEBAzYnjeaQiGqJhOLFAnDb0YuyRRo8m+5gxRa2AiEAhu6FUgEM6ONOirGqsLzpbcoWSnSf9NPJYL2mZfw/00c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkqwTCRA9TVsSAnZWagAA+akP/jkuV3h5dpRvDRfq6cK3\nGjeXNU9e/kIhfU7TDZBxqpplcaRuUZO32KGBGDq+ER+m1F9MhgX4eAaBt+yv\nSODPDCIdRymNGzaFO5zBTzR2k1OLaR0GIMxFiGsCpV2nmv0nAujuvZyZONRI\n68FHbd19hjhvxv6Gfym8SmY+GS21LfP84CRSlBKgeSTR+sascyNtfnxczRL9\ns6vqh2y5bNOkOH1rlZdwCt8jNPUcp84DbDJtbgu3yJqn+tHhH5DBLWssmLSO\nfqnjf5J0DkLc9tVj/NxgCUt/Mk5eXc9SWn0ZW6onF+eqMABjcgkFAwPvCOwl\nmHI7WJ8PBq3laEgwwMpStCm0QU/zUsigIIbuoz6uupY3YSON/F9xwi/evk4q\nIsQgGDpT0vSSoZegB//Z4gYuqnU7lsrIPlaKI8kr3CNM4y58aHbtOu96rtqh\nSRw7jX3QtZ7vWFLvBMEYO4Hyu0WC2Fnm2XMXQvEKV3hxa1vME/tiSEyaDPSS\nvzhUQkTEMP2h5cnn2kRmFrNPB/hHr+BeZyze42zy6gxXLBKaDNkdkYA/gGt5\nMABG8yeibmf2JhlYEptk7OgGt/zjOvEL8Fe6lJX1G/GZgO68mSSiSgV7y/ND\nvjYfulPihdJCMD9k5BnqY+sbw39ML7TAhz1Q3nxm6KtmT1VBVw1LUPczVVNO\ntkvQ\r\n=K/st\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210505143034_1620225042567_0.7942088424461458","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210505144556":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210505144556","_id":"@accordproject/ui-markdown-editor@0.97.1-20210505144556","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"6d12c6b78a78eef42dccce9195956fcb0edd0eda","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210505144556.tgz","fileCount":6,"integrity":"sha512-3MpBCU4+7BUkC5TV0r8lzI/WhDuFOADwpeYszVp0rVhBV1S1pibKKjforkfIIbP6dgEvzvBjbyuqSy3EPXL6bw==","signatures":[{"sig":"MEYCIQDNez+GnzL5iJRZlRTOiFosuC0zN2iN9zeNA8+C4eBeFwIhALXi09CW2o06XitzXpdOwTDnR0/ArJOWD7k2+rKLQdG7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkq+sCRA9TVsSAnZWagAAko8QAJ4MQOGYW9zSJqPKkU4l\n8usMt6tDyxUjncprhTffERRVyC9tuaUhZKq0iEbqc+MRm4MC33jpTPCUORQ2\nybRp3E14S1qTD0RDO3LRBKF+vcj2eblDlv2PcLvkvGL949A/ZeU7+T1TPVMF\n3s/+BulzkO3ysxNeJyUsPDjDooQX7ytANRSKDqpNwYIxaJqMYzGapnOw+r1B\nvfHle87o+YlHQBNOn4SPHo5yZyyrJjzsHWTajN6kPf+STWKGV7irdloNRa6l\nDTemmMoWpJPXL0U1WTpUBGUDlW42O7XcOYYKGADmJrc2891ql3DtNClX3XHU\n6XTzuM+I6iLLwwDvBOTLX7yEiYu3dgM80dMlDd5QYFThV5rkFVkDsGOicKPn\nB33eTq7UvrCUwxKz8gXnbjxMyiuvGvd5du76kj2u7nDpb3+U6f3GC8kRkFWQ\nKTxxRmv5n92xUerW8y7dCNYW9HSEvV5+C5CX4T5UWix5yt0ZFibo+S9K/40d\nEdJBF+7koTp3H76BEKcltBZitXdPP/kmPbfVqb9ES0wle2yPDw+kzh7y5Vw8\nCvKrKf3Im5N83qnMzj+dQFsLm34ThH0DkvBOTq9gR+PJSFoh994WCP129IOa\n0X2lYoVeMUDHG9PNnvvcC08l5P5uYu91cDIiV7+P5Ca5aBFETJVrmGQAzR2E\n1DCJ\r\n=0pzw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210505144556_1620225963999_0.9412351423744463","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210505160342":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210505160342","_id":"@accordproject/ui-markdown-editor@0.97.1-20210505160342","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"f94c995c55ff8bb284febb11fec35193e3d49b77","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210505160342.tgz","fileCount":6,"integrity":"sha512-QK1C0UO4SfpqdOLS/cH3s7vqjh3gNqlIZnLvYhmeVk/8OWg9r+VHVb2FrpQqtnffGeehRjw8XsGUofjHh81qHQ==","signatures":[{"sig":"MEUCIAiQHP6eSJC/ULqMCtIJ9xuktFTyPZEJxGKgARsCrNEAAiEAyp+eNJ+jU29cKvdk9U0JcyeX4G2q00QKQq5QL4nGUPs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgksHpCRA9TVsSAnZWagAAEw0P/12cnJ945z+2MkWjsm2D\nM2YKbO/Qjyubsbx9Q6WEnVtHjAarMplV9sNQeLB7Du2oTaWNd+DMh/2AVFpG\niH6tvJM31xJ0tKhceV+SGFan6IizQud+H2uMJUkvJgXUGYct9Mlq+Oc8Tsti\nTDKBFpegrwh7QdIBk9Wt4vCL7yv/TM/Qr7Oz7gnC5ewVX4I1kQWYsboIsCWK\n2n8K5NoX72n2SlFrQVEr743lW06FPkLk9k+QkXZwjRWYV57140Z4MwS6kneP\n23RI2mNKDucaXGY5ZhWVoiUUIlMWYrXVWJo7oZSMlXFAGjythrwnC7mocHKO\nfzTyHEFQCHMUhD427ZTJGQb2GqQ8AAaILDWOHgE/7sCOi+5hUPh3nFgDLgnP\nrCnWZRZTZlIbXtKB2FzEPfs9pM+B+byecZXawxLONKI1XGojoK0i/wdn1Erf\n5v8pxYLyOqCsi2BntBVkHqL5VctI5kIS6puO8QMqrC8Sql7m9p12PQwgDmz3\nr3CSaXMMMJkjz2LImJZkhY/Ma8MYkL5tzChC489gPv0IyMxy+yPQ4sXVoa5x\nD2WzfwyuI0DA8aETAeTbipM5BNhtkeo5izU9hyWlfkFT8TFLQtOcg3nEEa3z\nl4ZWeTBIvbcs1isY708pcN5JmEDcbXbZrkkIniw41HuXXsp58nQyLDZrWDH7\ngPkv\r\n=RjFw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210505160342_1620230632709_0.43601047984270136","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210505160643":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210505160643","_id":"@accordproject/ui-markdown-editor@0.97.1-20210505160643","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"d58bd8cd9962c228557551f0f102c53868fc624f","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210505160643.tgz","fileCount":6,"integrity":"sha512-ee+WnGXPz6+R7d4hZSXLD+lh626AyrSUraDft0r373Dhh22kfc/xFzN86X7uttartTFtg0iPj+/tPKLX55cuVg==","signatures":[{"sig":"MEUCIE1isKC0Y/aJt40Fxc8g4e+Zf4LbY/2bhbQIefGvPKn7AiEAsVm7KjWQcjmcETMcKC2ucMuGD+/4BkOSSIrU91qftGw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgksKgCRA9TVsSAnZWagAACPwP/AqQ63vFNsxi4BndFOen\naLXs55UpEv63rTbhjv87OS+Sm7aiXrN6HI/NXnNuILjrNp/7rEPI4sgS3kOp\nabG7qAWbVKIelMUapdNhMdkIHj/GOis6zQxT/ma0ZPzUFKtCLzQfGrwTx89J\nYo7DWiSjWmNxw2YOOvG0sKSoOkQXwLMkuLrpRiqwF8pZ7nLQh2741TxsSACV\n0gCE9MvGNyxrzUnIk3c0AbAtoo8nEstyMXMiu8l3MrJO8URlJWsbjlKJcHrf\nJl/2SHIOO8n1fLn4bE1V8rKffTeytln2wZeT3TctoZtbYHcnuxvj251Z4tx0\ndNVG4MlitMS2NoSZyVecdxfoIDxxKXtryjFlREszPqPalHTUd2kqh/+wiYEe\nQ35IIQhGb9M0ecowS0O0V8znFor5YSeznj4OxzpjJjiIZshW7FU7TWfFeHve\n30HibWrgnJg79gnHoOoSrQkAmUqwytPAnj/3QeoxYhhFsaQPIZyMyQOzvYdb\nb7DJeW3jitO1iN5u2JvCfSa0JT7fqKESX6J+h+drjyygNvLtcyTGcwCGNXWY\nHvTc3E/8JGhfC3aq/ZikwHBCS6VM+QBCpyeqA/ZBJ8YvJATNdedv9oEydrsv\nfpWJckn6KRQoPXzF+WKH/1Tf8yLr0aSA2qDBdModTiAQwGBUL72QKda+mi1G\nnGC6\r\n=xAAb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210505160643_1620230813568_0.5494676610073488","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.0":{"name":"@accordproject/ui-markdown-editor","version":"0.98.0","_id":"@accordproject/ui-markdown-editor@0.98.0","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"3a602ac8cfef22f28abbfdec7a8307b48eab5000","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.0.tgz","fileCount":6,"integrity":"sha512-Pxufnm1H8WplvHA3nergcPUc/tiasW5nGuMJSIP0J2zayPpwdZJDQsfPzK22cUnu+EdlKtPaD1IbyAeYXGixUA==","signatures":[{"sig":"MEQCIAK132UMrgs6r38R+FfDM/OkXUcyVGZuG3Hp3aXciNpdAiA+/JzKbHm//1qdSHdlTRg4YlbM1fLvI9dPBalgvRu10A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405618,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuapCRA9TVsSAnZWagAA6T8P/iGLxxjETF5feXuTfMSI\nHf8tiXO23lLrwUwpCoMRRHFq8qtRytuWLoDFGhGjywcbJSaF0vtjeU9kRqTw\npSCSCtdvu4bjZNsaKfBp2f0fNwbT9eFkewR1VLSwUmHFuuSC3pKMu669hKzT\nu+3p2/bRQHujUahBDxs4Qx92EqSm55N7dL557GgOVRmd/eJYZ4Xpfs+X/TKr\ncd7IGlxHCNvmLLbXV2/LK3xhK3yDBxF4zdJnbSKJbXK1KvNoVyPoRFFjLyr4\nS0FHrP9fCNHb8bnuX8neVAXkmZoW71r3p6sFv0J/3RjEhvlXUBfOtxAAy3hu\nfVVBv0FwngXiOR6QtVU+uFn8h0Wwpk7pSiNIINcickvrQFGs3wz6+0q+qsky\n68ImnXAul5cKv1CLS7NNaQLtZsyPM+s03S5JzfEBA76IgltAvHUiKLedtZ8c\nunS6sQa3bhidxpgZF9b84+5XnfmZlIHsW/kikDI7BE9dhQMzS62yhvCVrJfL\nvcCk7dG5/0PMRsMLR3wRge8pXcjUlZow1sVVlHWwJa7kD7l/2I/hm+fP1vjw\n0evZP/lfscoz3lKVkkxSNLX08TcqLaDVhYozbYRbZbdoYYTqnAF/S+UPRqoS\nhXec0/soNM+jrHozk3mvdarW8fp9A8FFy3hDeos+dtrBr8FNHy70rPNjbWLd\n4tOf\r\n=hZHS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.0_1620240040893_0.642359858941991","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210505184443":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210505184443","_id":"@accordproject/ui-markdown-editor@0.97.1-20210505184443","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"ee8361993fa22f7ceb87c17db5263dde1d6a2a73","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210505184443.tgz","fileCount":6,"integrity":"sha512-c3Q2VAJEI+qOSs0e9l7VTdJlqOGvSfL08WB7VzJKv/TC6S7HcIBC3aZZfMfVHR/OCTiYvpdv5ZtTi/h+TIYfbQ==","signatures":[{"sig":"MEQCIC2aIk0jaPbKNvIxtdKL3yO3GsLN0SoD7js0Gb0OkkPYAiBy5vngGJnJrurSH+j5A9PTMX1ZK9Dkv+Lm+dmB/hvJxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkuelCRA9TVsSAnZWagAAiDMP/2P2q7+XNkVuLOsSt24m\nYHfW5CulV8iNEUfwEW9EkMlUhgWSvWPw5NNPsQIA/eaxmuN6Pr301YrQwyZQ\n9Ks6vPREj87/R1ltPEp2acWyb46qv8sepnvVX8thCtbwXhKW1Qqh/WHVvBtN\ny3r5Y4DY42KhudMoqiV+E2kJDTotkBUrJdFNUeeD86N9KDSt83srPdPsZUsy\nNqBKHJC6QWJC22HrYUWD218XZsjfNkQtGb383sj/DKz60ZfqVXejmQyi7Bb2\nU83I84awoupnUl9/n20C2VMA61+/D9xOP5jzqcoMVsYrRkWc0HG6K2ebZwwd\nyDJYnZojXCIbptgxm6d5kyQ03OZUXTnGoLOD47W/jcb2QcS+8jNi6LS8FHGq\nq7wKKsW+5+4NGQbon4t/+nqCjbvKTqpz831z/o2kYtI0Jtjw9+TkkqoM39BR\nCJMmlnpDTv0jBKmfJqtqhQZE9psnmFTQbXgw+oLbnbSmboAfOTQFf3FEUx22\nq3P37Z3iMzCZnLbIga3DxQ8i1ZFhsrT5T3M7JdsQE/EMqLI7/glRj+EqYxtf\nGf8drtgHDgytrG72Yf4/iHK+HVyhU10RKaVkpyPxbL6kSj8vBmCJpEFd0jE5\nm83+sC+cRLWvmF6tfxGuQTIAvl6rG3L5fQLD3s0OctbChdFLa1rMtoJYaMhX\nY6KK\r\n=viwy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210505184443_1620240293191_0.8133519875991593","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210505184954":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210505184954","_id":"@accordproject/ui-markdown-editor@0.98.1-20210505184954","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"bd6b9f85097c8d398e24b0a5547c7e907e11ccd8","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210505184954.tgz","fileCount":6,"integrity":"sha512-IDXwszmkytgky4bAZHXXR/wHK/g1cPCNCkRtxn05JU4U8MQp5byCsPq/b7kVULpRATVK5jJFDLt3zDyLhTr27g==","signatures":[{"sig":"MEUCIAmMHLJVrISf+UnlifzT4LUS/qJupjGWmrtLw+tgNVWlAiEAoSO3pyitJwtDbLDLR4NtOr0JpHfjVjwT/MMnRia28I4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":405633,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkujbCRA9TVsSAnZWagAA89UP/jREs7nnIJ3OuH45rQnG\n3ncBBxcNKH37AGGZZm8/PeXqvDbhfskc9E4ORLdLyfq66oCg7BBOUFGgiis+\nUJmykcHMucXwtwnOBTYgvhECGO0pd18bHAtp5zTS1+RlQPMprELvZDybbdPL\nTgDXeoLXytUdXb41y5nsoZ37BZ9LlFwB3ILVMsEibHa/7B4CfYQ5AJjWk0RM\nHA31NQYvitELbwvvXUu/dD1HAt6moCi2j83yGGVqFaagEkbKJ8G9x0GxBY0A\n84ctD0XcKS0jDf3KimQ6b3qG4s+0ODGVF1xUH3X7g3AsU8Jvk94lWwKY6k30\nx0PLCNHBD0TDrZ3bsCfrWxRPzRPD0kK4FGlGfX75MD8GSqVnneJw9jWXhTq/\nOJrgtwovUfpUcTvKPIdVckJO8R+hBWoWGV3qEL0b4bEompI66cPX/o+m4IFP\nFUILfST7iQvNhpUKeZYcYHrBP24Yuj14lASziOfRjYO7bsR20B29Q3EEe8C4\nmSCHDzfOekh8CE4dmdSIEka4km16xXgizYmssIdIO11rZ5MvtdJngp8spt/3\ntTwnDYG3BBLqeONnXPxaA/499atkSAs/jF81eXcsCCQYOIwdsqRTDOZRk2P6\nky+Qj1l2A90hmhQGu+99ff8VHQ38QM3xv1Qmlw0ACSB/VfgCZ5BFPDYZEeLu\nYCn4\r\n=8oBd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210505184954_1620240603211_0.40881577335399655","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210510163230":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210510163230","_id":"@accordproject/ui-markdown-editor@0.98.1-20210510163230","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"85e45812ca2e7be4155670b515280ea1ae6c7227","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210510163230.tgz","fileCount":6,"integrity":"sha512-DE38hQFGemAPP2wzQMRswWdfdrYbEJzKpoCw8rk5gNwAJyuMxnbydJRVDs++Qalp1yWNx8xHYxw0tnh4PgM0lA==","signatures":[{"sig":"MEUCIEYHPkeZKRAbHAcwYBFhOj57Kb8jdCSh/c1erUK6d9TzAiEApNHj81lr3kiUYIgvtYbLEBFzYtgsUe+XxiF7RGKA2gg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmWAmCRA9TVsSAnZWagAAICcP/10DIhcI5ikM/CG+VaEx\nD1wewSJ0945Ce4cQ+Xe82fUXowuAWr5Utx/5eammkY0OweBhtyGCTu3DPAfJ\nQKLGFVP6b0TCn4v4Lptk3LwuQtWIJje4uOELNmOxJEoADjHlGk5c5ZES2n7E\nK2croEejEnz7MVfR5GvXJAZ2ZZ1l7SuTpO531EtWWUwfGx9vpMd9ihaRlpAa\nQEOlkLRcA5eOLwdETw6txsr8F0io5nHo32Wh45ynjpRL5oBbrgVTYxDzkCes\n8nrKRSqpBNuj2EydagR+jAiN2RcQa9WXSw8yRAqUjjB+H9w/ctOJf2hfYja4\nqpK8FsQy0DCutUdONTdgHOuslNccbFIsmXdKInniDCXI/B5bMjnLdUM7dLqN\nMLPTf3JaFGGCy+OWIGViXFUmOuq0+SZiXGSzoOlUSJrKGVdrwM3rxoZ796ql\n1RIHAPuVFz7cG84CaiIEyz0Mkp+iMQ2YcY/imscBKoIbPsV6q/4rNwrnBIRU\n6DfKJ+RD7cHdSu9wpW4Yz1hyQd2BzWCvrcpX0cT9ztx19cI/dB9YygPHoLFb\nDKSXnhCrPbSg+0+PGj5R8Hjgo/HbIg2cyaXw2FEGu/ah4OO8zB6ecuPVpgBE\nxo8VRWObjB9VvNJLpLN9FzvmXQqK+dBdzufjb4orxKp/7VxszlEwLGvVtaTP\nQTFP\r\n=3NGT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210510163230_1620664358304_0.7702061596954877","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210512152801":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210512152801","_id":"@accordproject/ui-markdown-editor@0.98.1-20210512152801","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"9bf8f2c0361624b74a354c96d756ce3b7194076c","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210512152801.tgz","fileCount":6,"integrity":"sha512-q14I3h/0yUnfJX5L9WyyimVXrABtWyX5/MdaVKOAsPbgONdU/8q77bkex2Uesl7hPEf+ofpPW69h1nnURG0RJQ==","signatures":[{"sig":"MEQCIG8vd11NfZCsu06SBsmLlMx6OkcuwkPwqa6b6OGgUe3BAiBdLYwCP5g0qNmVqoeHtkHAMujnpmuG7gKauYB/tArNqw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm/QNCRA9TVsSAnZWagAAQHYP/jji/ZM7K4pc6Eew8qiP\nqkit/qHDh8dUHfU8os+33EX7a2DuFv6CBRdYBZRtpltIbigr8Na/l+VyGI3/\nMju5uO+O/lx6l3GUv/lo99O8Lj5Ay59iS0I6NYZFdVoYRljqgG5kZvB3wKzx\nlwzMuFASnda3yet0TLNDmSx5inhmxnTY7fHwY9TfkirwUeNRbqCWxIbRIHHi\nlqcOgk1ng7RQLpP8aYPRfNfDoV9Z/0OeMqJXbvq8y8wrpCgPg+ox/G9ZX8eD\nLNh8GNO7yLoKVYQ9zrMYRWe1/rQGnzfnt1gA5UI193clVioiaoMZ8JLkO2tA\nT9vqlZ3t3hevkvMarNG79KHdQuvd2hfSCaYq+DMxQMt9v4nxBxJo4Enk8jGs\nJCNIFZwNhYeUCYbyvSPpN7bylTLu+2d+MaAqQFqMK5hSK5EqB0GsTboVMe+g\n7FYkX4xdoanKwoooZ4VRbMFIwPJHw0H29ppBL882q8BeAUK4xIZthLej40KX\nXQSag+9k7LybITBbhk2s0aKd/70TuCdCN/b3oRfZxXpDMAcY3uaPP0RKgmJF\nn4tPZYZm4VxD22uXlAQyo1eyCPARdvGp8Ue49+sw3Kq9d1v9sbdcNEpsWwjq\n9ZLF24X0jMvs7sYfPqtuSuPNE0ZzBjcbBhHQanHqN0q8mXva+tfI6ilG8xop\nVxXl\r\n=EswC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210512152801_1620833292592_0.17902978623852062","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210513163414":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210513163414","_id":"@accordproject/ui-markdown-editor@0.98.1-20210513163414","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"b116d4765c16664378ca1053425c8416db815591","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210513163414.tgz","fileCount":6,"integrity":"sha512-DVaV4V+SjjeK9NZOHHNGnN3v0NEoU0ZnWH7+Aw3nbO03vDnzHcvAdxNmk+CRb8C8XD+VOV+1CWsL/aJUGmEeZA==","signatures":[{"sig":"MEUCIQDbBrjY9bh1dRiq6CUyIc6xNtr3wm3TewrOCSRbUjMHGAIgRLDCMkpqpTC1EYaZ0iDPBrKHHnPxrGL29VwwgtscPM8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":408835,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnVUQCRA9TVsSAnZWagAApD8P/i8l+/0LDctiGTnrQ+Wp\nxQfVLn0+FX/7V4OYhhoJqLc31yIhmFF6+lU3+TFy4ywCos5qqrigo3APUWaz\nda8H8YIR9ZNcPx4YDE8Tq4QGstWfz09WTz78G7RlJ1wrO47+FXfCTKjx15t+\nyR1nkW3AuaY7aUNlDmqtYTUc+Ok3pDsa38QqgJ1L8DUEfnhx/TEXHvb8cHCO\n6vCcAvX0Xc2jCQ9+UJRkG2qtzkKxRz/eAZMdye6p8NctjaqyUztpj0+Dm/r7\nwLYuWKPus/B+CFL4dMcEV8hBZN79WQVszaRNnE3+6LQKlHRShONU4eYXzQO+\nR90ctdQFgWONW0uDhNKwwTNoBoc0jFUCbnM71lh+1c8a6/cXY+dkr8KTyND2\nQSdvfgNkR8pJ+ugwQdmSfZCuGQh2L0I4XG5JWguVIkvwy0hkIy8J2Wx1KoHu\ne+3FW4EQK29CgKTRPXyqtUXJ//ddF6D2DGmQ6NJIO4tXGHgPNBoqI2eDBrTq\nHVKIFdilVyu32YCiegFCEex/Pt+n9wN/3ROdoGqJpfkOwrzXFOJ/oOdg4QPN\nzaqcdRPZZ4SgEGLz8d+jS8oFBzSt+zcDozgoLJHo5GwkD5+8DBVebIe9kPpw\nD3GcBa4OtpvqEPsvuT2oWZYlSGt4XIyR9n4cuCuzT2Kq+H3NofEvSmmPl8+z\n9ajW\r\n=x9Zj\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210513163414_1620923663673_0.15376883800275687","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210513163751":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210513163751","_id":"@accordproject/ui-markdown-editor@0.98.1-20210513163751","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"ee2335750456b3eeb5d785a360e0b7b33599c122","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210513163751.tgz","fileCount":6,"integrity":"sha512-ZhkYFZuvWcUo21lQy17T+JCVqtDcs6RfZgmLflxHw8KsuAv6H+GLozfQsvwmrvpYdldWWmbDFOaR2hq/7H0jPg==","signatures":[{"sig":"MEYCIQDdqfW0t8q+IEiNilxsKv8hPlgQJ3sQYTOuSNd6tguwjgIhAJb5AMv43bIIIh7liQmh+xj9nl8veM7vg0szVJKucFsE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnVXpCRA9TVsSAnZWagAAN/cP/RY9yRrK3C7OYP1cLQRj\nsEIUld6z6UmVrv3oXUiYrw6ZtGPYOhjL3Njd8hFR8dGJ+u9xSuDuJq0dHgx7\na1Noxj/28UDsuscnjbOCFAuC/gOErq/Lf7a3tzEXU7gIXmkmuBZZvWVa8Ip6\nml07REj3QJeTJ4rhawxb2yQlPOuG7s7BkymJubMjU9bL8X15C3RVfBZFqvkc\nFC5Pd3eR3K0ujijnBdN37eEQVUa7y+TpKf+6wmSpYVn10a6ZnuCmGdiZiQg7\nWKhYd9twWNzEIrGH6J6bYqqHEetA+av85mke2tbUcvbU3lEcIQPCruRGQncn\nP8jnJrbcnuP9yLQaCoN8/0Teextfv9WFAVeQUNbOawE12JuMP0N/J/Dr/h45\nTGXCohpyyt8D1kqIMY0qfWUhoOflyFkpHlac28DkIuQvXih2g/nUZwXCVAHA\nizUyiEeI4Pgu2Cg8HUyGGzEgaVHxTgXkaR0Y75u9RchhyOUQZtkrEmEKbgCJ\nk5gw4cC4iqJgBmn99ojveshl8LuMNlNfJFbPgQhiguv4yFkK+IunoVWK9TtF\npdocCcy4db06T452u6HeypsyAfd6cvdRN53BV50rPYQR02NJMCWtqNmuDi9R\nh4OzkkyniEYRDFUzterSlcpQEuXy6MrPmic8P+AM2ztJWe84lnueUD9ltSXD\nd3L1\r\n=KJ70\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.1-20210513143848","@accordproject/markdown-slate":"0.13.1-20210513143848","@accordproject/markdown-cicero":"0.13.1-20210513143848"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210513163751_1620923881464_0.27228941281418284","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210513164433":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210513164433","_id":"@accordproject/ui-markdown-editor@0.98.1-20210513164433","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"aa4c774735563a3909b2aa74b17dd2ac396c575a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210513164433.tgz","fileCount":6,"integrity":"sha512-KAKL6amhGz4hhaCbQu/7U3WyopxssDECdd2uQDwjtXDs84MEL9ITWTEml+roD2JnuckzdqVevk+vuKZ/3HGS4w==","signatures":[{"sig":"MEUCIAoDMhf8GKv3SngQzVDl8SBwh3Drr+6G83q1Tnd1p57rAiEAswpyNW1m6OWYc5xe7fyvkXIPF/JOFweP/Ytaa57E0nQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnVd6CRA9TVsSAnZWagAAvzwP/1DwbVXkJp8I8MEUGBEd\n/thn9n6hPyf9kcpkPImspe8j/n+fgrHfA8URRbWDJ4+hmhLlRkzivZoxMPC1\nfSm/MMEpaP3jFX5jaB/MvxOBmn5Tsfk0VL+lvDHGGlke6T2DvDNhbzhdGFyR\nmOr1DISDYvcrd0IM8Jt0Y8UL+JFpzKK3f1K+fCehEUDUKX50SpSWgejpYc9O\nKd6zByAmjnTYtA/uANph5F3zF2w37Tx6lCHC5S8rfDq8JHVT4yoavxUHhHoq\nuCQdLs/+ZlHtn/8phgOxt+ueVdZ9HfxTif5nDyhlaEvm5UHw+aUfLmsU3ozK\nBgjqDxJ/ZttXFDszTBAKD1jbekgyeG59LpePWR+K+6TKqENg1YvnuYEBXiWy\nkzyZzDoOOnSc3WwX/+hJ98FbwrBDx6jFWQYvXu/fh8H2U4T8aDCBD4Kh53Tv\nsI+v71LZvcVD+sYAHEC6WLU8G0LjrTXJ/QR1C4S9/SmE2lhi835QFOCopwOr\nKQJYVbDSXq/5RwNRR7g9vm9ukzSYEkKg6qeIUdTmy6oaueAT6Erxm4UPtmD4\nBY9jmyw112kdxVqMBEdyNWSf023z0weeWXXvm0lqYuqvhGQbdEH7QZ6j0ZU0\nIgRQesH5n0zb+4nVK0H/NyiYiI81NqslizWcPx2JLfK1qIKD+r3YbFcaR4OZ\nK7PP\r\n=ppDA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210513164433_1620924282075_0.9722343014393582","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210513165843":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210513165843","_id":"@accordproject/ui-markdown-editor@0.98.1-20210513165843","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"22a2e4d3127099514096eb11af981a143fdc2e10","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210513165843.tgz","fileCount":6,"integrity":"sha512-GvEHTA4JiTZnSdtZ/J6rxMukeA8JaPCl5rG5uwPviDxk2EQOV3Ost+lPmTFD5SV9Ecrg8sQSfRQS/UnZt7FPDA==","signatures":[{"sig":"MEYCIQDLS5EHY8FLXQ5fMndSbTMF6AsNbVUbfCWx60Zex4Lo1wIhANxfQHbOE6ZOZgGIUOsxgx7a8opPR6OazZKRjqVM29DO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnVrMCRA9TVsSAnZWagAAw68QAIgiDSLd7DcpHgACk6cF\n+tattaCxnEtzaGj3BT3xdw6xDogB+qRynq1g1AC1AM6DddQnJISHjQLxrcw6\nolHPPnxbFRRgaTkcRf4iVlLm36furdmuJrPzAxS42IvTnKZj3hwknwXUHNSN\ncNpE1YkJgvtFTvOhj+kX2XbKlydfuBy3fykmwLqOXcqF9Ii0YCk7NBiQUdag\nVFFAFjIp8oX5AIiFKz5zpzezb3JpC7Goxajke0lpGwGFGmD6bPDcgamnpAI2\nRd5BZ6hqXNsmdoycbDC/HLfwMc5Kby7apI5wmbLgl7pA4U2NCqVEWfMsUFxg\nhSSIBG584PJZtSBFI2KezrY40Q/VoUJxhYuO5byAtfxRnxpuKXPnIRs46uBG\nXsmivktUBe32vUJKA1VtjdSBQRzXap5+mToHow0XQcgQYCHm1kSpE5zgdDCi\nDcTrYfZPnjNhP2BuXD23LuRPhgc6A9GB0VrFMW5CONMRa5ZSRnqoPeDzsMZv\nXxoSO8tT5h65l9dJZ9zEurrwpq+HDVFicftmOT4ti5Kn9aWL/CEMDZJr/1Sh\nM6TRIMWOqQc1/kx3AVa3QQ8YUOBOXEIeeUT6T3KTBlsRBqdd3L5N2+OnTaE9\n/+uho6WDgJO/0AtiYYfVhuY0Ndjesr6kkpQ8sZgmLmrjaYBPGA+VI+Bkr9uq\ncEzj\r\n=tgU+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210513165843_1620925131663_0.7220548741826935","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210518133404":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210518133404","_id":"@accordproject/ui-markdown-editor@0.98.1-20210518133404","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"2a45f55190ac8babf69f1ab04f0f5bfc76eee065","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210518133404.tgz","fileCount":6,"integrity":"sha512-MUEiCoW5rQ2ZiqmBmGrBzDHCEHi7ZWAxx1lUIRXBS4EcBU6RmZMntReYXQUYvMXnWUnQdNXbuSwX5G6MK8dPog==","signatures":[{"sig":"MEQCIETAo9GgiNMIORGO9JH06EzOm4cb97trbfAG/7zbo8EsAiBTbXDhicwuNUrrc8DO6Wdfeeq1F2hB82PFqBFyGMZPWg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgo8JVCRA9TVsSAnZWagAAch0P/i8JYtwKL5mnoVi7jMtp\nycBArfAJvxOZcMCSSDMpyhTEJEoas33HODlMKcQwWo7u+sB46WLrv1r+mnM5\nMkJr4cOQoCBoL4BNrX3Z0xQctYOaGZ+iCM+MIWsHTcigh/bNshoN5Vz+Wnqa\n3+0msx3PbwG0CYoJRXf4zSEfx8HIehWENT2m0U00ghmYK35OA/SGQK3vrxX3\nOOR4UHodhRvlMBkghl0CEJMemk6CbTWTA/1BLYpf8rLrrAFJqzJmlWXI0ICD\nl/XEjpqaSUswokpNgt+ny0vKy118rfgcuCYqqewkjm9TBrTSMFARxbXjtPUw\npVBqV8dXdIRVFndY5anHFkmoeW/JPlRNcHiZdjIaV/gGnlnnFi7RBkp1XF/8\ngaS0VVxKYp7/oLRRhVVAialkzoxi3faawUG2nd3TQyUk0ew9+Bdt5VukTOf7\nxSvQu3GW8htqKLRb8P2jEWHyA9F9FCC1deo5tu5wbKgQ+ciBjwq3Z3pL/dtY\ny/cQxbGnFt4bF1LgZFPcxp76o0cuvzQ+MqO3bYbGgkq/dFJ2rIFzRN/6x/zE\nB2blIHE9drdUkHJPOMSOwEvuiXxUTPczDQLQkCm0TPnGc9TH8ukJzIG2JvEl\nMCoomLONOOjDdZ6EK9Hd2nrdpE9oX98xPunJ/pvpeoCbLdAepni+HdBoG0DH\nsCyg\r\n=5IXe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.12","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.16.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210518133404_1621344853310_0.4017057979887477","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210524132701":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210524132701","_id":"@accordproject/ui-markdown-editor@0.98.1-20210524132701","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"d44c155810353eafbb0bbdcb1b98629ef24fa5d3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210524132701.tgz","fileCount":6,"integrity":"sha512-JhltTfiIQcikJ1yUENX5CoUxiqvHmfGgWlysBSuMxtKNE1UR2l24APIZlGz8ymPd9UkJbeyFJkRmTy2WeWSpvw==","signatures":[{"sig":"MEQCIB3B6dOKSgGD332q3SkUJjWcc+1sCNDmhW/Saz9no/tlAiAWygFQk81fcGjuLDjmBf+e/6TnrE2c2gvyhBEmwMbGqQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":409601,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq6muCRA9TVsSAnZWagAAG0oP/i0XwwklgYZH5/TrMqPn\neIuA5y4HWCQIc2touYdmB5YMqq61rud9DNQw27aY6JsNtZoYofUWaYPrnD7H\nKsb5bAPZt05JJYoY52aSNQ6iUn1K4TOj9s0lN4FnKYtFAnCIM4Qg0dDqcXkB\nLeLf29HYF5H07hMknbb2l1ZlZq6VJgdQe1GsL7yj9BrBZQthlhFeKupSU2kn\nTM+U0ygRy0gtjaJlx/HmuDNUqoJ0ECsnYz90sR6nx9ON8piBod6ANusTV1M5\niRv1boucuWURk5nh51rUgZuAMhpji7Wx+L0je2mFCfpSvQhhJjb+no55d/og\nI7+5EaPi3kDwNDQLbK+0s1QJtiIaaAN0LaZkXm+tq0pAKFvdhRGDZY4Ui1vZ\nEBsgaaW0bwlJJ/Sg+v7mdWhp2yHd5B6YRWRXCEOvxzET70Gna/4HOLqIcOYy\nw/B+pr1tndRvz5Ad9/KybMisCtAv0V6ZDlSrtWJGqC9OjbNRzstXkc0mbbC8\nSv1q9yn/Prg01+dUEliUttqDprjTcBJ5XR6/Bxu7c5r8wXKQPPcb+ksrIk0g\n620AI0k6j41xP3I6Y21goNjm+X/UfFD0VHM4Q8BCSW4eHI8OP55+yixxAMRy\nECaaD1ubG4kTSpkICsPdPUrao7JjL3+qp5v948M3Ci6EQPgn2kvputBN12Xt\nXaDi\r\n=9Q8s\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210524132701_1621862830195_0.8774267727709499","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210524133647":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210524133647","_id":"@accordproject/ui-markdown-editor@0.98.1-20210524133647","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"6933cca5c9b8a785e6ba7b89c0ed705403e43bdc","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210524133647.tgz","fileCount":6,"integrity":"sha512-dcd9zTEAsEpEJNLJejdUYJU3Feeem7lJ6FyT5MvCqTgMQSjGytZU9ARylc1wVVDxHFzwTe2eLbz6O76nIDPn2g==","signatures":[{"sig":"MEQCICpy+u2V126L28Hpu3VAwPA2AAAsdSLU7dWs0W5HMVfXAiBMVZLeEnZ12Uu7KsnUAr9kHoemAfXnjaAiTKdDgCf2aw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq6v3CRA9TVsSAnZWagAAck4P/1qmKwH2JNC/bHow894O\ntY36SEubrKRDB6E+7U5TSaW1wD63BZr5U7c7CN//2X6ljF4EtJvBgktRL4cn\noPmGPUbARii3n5BGBvYlGPRMZBGYWpPqjVZgP5bAYddO+hs7kjo9mZCGtlRh\nEmoxZMVdO2owRn0jgdNWva10BQBvly00iYe6l6iyXzMgFr0z7aG47j4lvzT+\nrnwK0K1mkyEh6lot90f8+bp52fhflifZPp6RJevyyfcVPEIEjMnMDO8sUIHw\nmTBlXHhCk40bc4gyGDaf3RnIILSw5abyBjWwMLbaF1jvjFoEjqrgJj2GLaLS\nDz3q7rhGuQrB7zLLqPhfS055JSdPLUl8AF8OTShjmFYTKjEiou3+WnmYRYmd\na3Wezd/Cycn6SukybCgqc+3U02qv87C0gcsc5R7cbyCO0q73uSD23NuWEAPe\n56HPTHesynZtCNXXIXTU7kgKePSFoLFsdey5DMY9Y1yaOgbjRlBP5XRBXoVJ\nJdE3MYH7sTEu5vk2D9i1PBr/pmlJIW/0dwwnUZyGyC/ZNgdleUANINIL3fkm\neO+FdlAUxbIpsISmMgu3U9JKEAawiUISFHFSs1FgItj4slLQ9KNgx7RH6TX1\nsyb0tgEETuJz8VNYayxXaE5ZaYODSEY/CMZKZ0gGwsYtcjYsRCfgUHjyystX\nXncp\r\n=iXWg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.58.4","react-dom":">=16.13.1","slate-react":">=0.58.4","slate-history":">=0.58.4","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210524133647_1621863415161_0.3704065416421467","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.97.1-20210526212817":{"name":"@accordproject/ui-markdown-editor","version":"0.97.1-20210526212817","_id":"@accordproject/ui-markdown-editor@0.97.1-20210526212817","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"68b41284be8054cebbe26ca2f4a5801f361f8478","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.97.1-20210526212817.tgz","fileCount":6,"integrity":"sha512-yghHmhvSQAMyZ9n7R50HZgN1UQ2aa6oMyljtelEMHCfQKFxPUwhLzem2xxImx0lGDacCAyOjqHngJvmM48FsUw==","signatures":[{"sig":"MEYCIQDwHx1ID+eB2+ZPodKQioekjm1iGGRHZGhg0VU8wB7kBQIhAIHcD1CeynLXMVo9K+aK17ZsQm9Yhyipl80KvCnBb+ax","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":404028,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrr17CRA9TVsSAnZWagAA++8P/172Z4Cz/29eNESE6W1l\nDg39b7l5kPqzdGnX1K9uF9rIcqH1axj39X2Eu3rte67BAsDAVAK8tYUWXUje\njr98V06M52kqM7N/bQkvVkx/XucoXjuhFq0MzuCdYpXoCgQLtDpuv1kIcEJ+\nCCVlug18gNSSq6EBUtilrkhlVC1nIScsoyAOXr1XeBsc6Qw4u5HwK4miCX8c\nhBGitsneQBHinoxXa3h6koy3uB6faHoJZwgSI4kpGHCFU575Nsx3hZQHjZeH\nJH+faZsh7/HHUssLCn6DQJ0d6KAKjV+hOx5soiJpiCUBtUG8bks9nAtidUHK\nfWnaHKnq78jcqE0OUPsxCD4iH/lKY2xc/OUlwpa/NRXCibIKEBVppSU8J2fJ\nhjkvdp/cj5K8R8lZGGwSdUERl9aHBvUJ8ldmOFs8sQY0EpVn9A8G//PMuiEt\nHecToh6RQAaYgDYqt/08wUUbHznwv7+j69YAQwk7FaTVAsnsRG55t660URDd\nkIuZnLLHDx82qDassaDDz/88n9sTZVEoApU/bxlMmJLc9FzvCc1Olr3bGT/A\n2v/P396qOCTDXlbnEFxTK0B2DsywbVCXdY/phGKVb2/5VptvDSQVp34O46YD\nE/lCwPkJoDvItLy/A8Xs5dNs59rCZT5mrARVtdkaBRY95QZDJUVpYZXGx+rd\nEUSm\r\n=eTNa\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.63.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.97.1-20210526212817_1622064507132_0.008869250465440404","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210526215132":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210526215132","_id":"@accordproject/ui-markdown-editor@0.98.1-20210526215132","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"874f4b2e0e301dd24ded1708d782eef382688f8a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210526215132.tgz","fileCount":6,"integrity":"sha512-Pu9gf12R0HZgrkZrCHoZnmFRNEuDxDOA795fh9eqjhcRzQB8Ryik2n5M0Ix4ByXNUePiOP9VyZ94B0P5jV1emg==","signatures":[{"sig":"MEUCICVFgkX5nUJyW/vxKAiAHQAchp0CSHNiWjiz4YNd2ZQyAiEAkOrE6nW9j1ANjFNGcNvDSLGd4XNApnvBbCWbvl68Poc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgrsLsCRA9TVsSAnZWagAAVdoP/3xS8ijnO01NGPH4YmIX\nUz+2F3oGkmWRRaEFtZEkQdjliPxcX+MlAEJEc3v3e9vfofa/KEuOiyC/CF9C\nYOsXuAsoi3+pgcWGtmtvQqQ9fQDawZw+8b+gSHNfkw4hNM+ffc8IXWPX5xzj\nWGfwA3ktxF/f1k20UjiRhXxmYI5mh/OYqNpa1RuAT+Mc+eZ1bbbQHZf5Q7Z8\nH+xFKjCwIec8zAYF+bNMo5vm9ncKqDxTop8xve3MzdhDsxYfAfRFAcRy9V4y\n9Eombqt22HLErqOhiJHeLqSYZhdneDxnFoj8YT44GkTwDVCobq53HgJatrFo\na68OiKy7j0fNuArQXiRUlavl7LDBvBh6ZCz2MVOP8ZSf5x0UoR3cCcSEaupr\nHpKZaHsCdzcI3KoIrhMbf14JCkwuuZoZYa+7I93LVDSeVb1uE3BJfp0he7aY\niy/OtGpbiEB6KKLnN2Jzg1pY73SUcv6FSh+L9plZsyDXPMTvc6urUSbui/VG\nTzLDbfvIY+ke1quHXtOpbFwWwmx3Yt4Ixds+P/E13wIvElRn1BYsXLy7YDp5\nfnLzc8Ea1qLq+mOF2SEom3JTzR3ODuHJigxgGxf0RmFIW8UJVFTBfSBrY7Y0\n47a3op9dGKogNpbGDNdXawa5QXfRj891hCmCGmMSNNaa75GITGf2xaPe07N9\npWyM\r\n=rci+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.63.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210526215132_1622065900545_0.06890899967688924","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210602105716":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210602105716","_id":"@accordproject/ui-markdown-editor@0.98.1-20210602105716","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"72c82c3733624fea062bb5b306d7b1c5600c30de","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210602105716.tgz","fileCount":6,"integrity":"sha512-GSf4mv0kwPPgQVePaOvjAVON3pxj0cDrBnLQqs77jiID4z2GNPePed1ab/4HQpFnIMXlCIOrqahjrZujswcwXw==","signatures":[{"sig":"MEUCIQDAoVoVDYwe+3M/13TBv4ybyO4anAySzripwIGfdoRHqAIgHuMKkbz54z3mewAZ8bc2LKWKO6Prc7RbAvPMqv6e0ww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgt2QVCRA9TVsSAnZWagAAYJAP/iaybHX2k06LnCkBceuM\nZ7fHlyVhpEK44Q3O4Lc54HBza7X9UuFuRITb04/ptZj+Ym6XsrDzC4Elp3dL\nPAEM7Moqa+zYc9tSzAcv6Yo5Fr79BbJcyD/WrhX2LZ+SRlAkN/rr37tywo2Y\nD78fyuIpX2Xd9KK/vATJeBw7UdTLC43s4Wa4nkZEPrkerUQiPhd4Mb8dE+kl\nmf4KxL9Q6XKaBs9kPHnBLFo9X0QUDw0kZ1flqFlefXqr2wbMe8IpIWcFNG9v\nGnm0FbknW3J3csv5ZHWlxtLO7bOFPbsjDPPV3TZ/Lt8NjG9RZtPhNUeoeo9S\nIkEbeoOY0dMc2frnhULh/VUeYqlOKdjbqhbM/NQk6arb8KxVDpnQHC6tH6DO\nB8uQTdVHm2JPOxi3gXVExeg7C76cxdmUCxAxmLxKrkIfbfLRAw5doIrbr0zK\n2NBWVctEfzVq9H892NVEnEJJTw2ok5Xw8bs+r1cqbURcu1FrHWTEJraIlgTW\nA/MjgvemsQu9RVESpOe3rtv94RdvC5sshrlO62zc5R3zBLdDiR8QyHZ0HK3K\nBDTUO7q9sDZbiQX4dzsxPOcOJYmOe/AcDZctSLiv+K8C+DUT+wfu7MsYH8DZ\nojOJV/nVQ16vAQ70fczkrnfU7/FSyHcw/UrXLcBuwVkxlqhZzVMdzqK3563D\n79qa\r\n=/Ptz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.63.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210602105716_1622631445210_0.39936648414047093","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210603094608":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210603094608","_id":"@accordproject/ui-markdown-editor@0.98.1-20210603094608","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"474f8a68336c49557a38a9f1ad0cb84484ec4400","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210603094608.tgz","fileCount":6,"integrity":"sha512-8IcMLYi78hNupyLIoFRxOr+PzBjA5+FFhq6QcvBJLXkCtdveFltVro/Z2H7ki1GeUBVCzk3A8Au5ZtzJLKyesg==","signatures":[{"sig":"MEUCICR88i98vnefqoXkSV5qhxn3whcIlkyNJ0A1IJPU5XvJAiEAjLGDa1GBDCE3u2Go10XC6WjN0jM4LaNJRUPY/3Il3E0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguKTqCRA9TVsSAnZWagAA618P/RCbXy4P1UHf3681h/Ae\nEAsdaCH5/X+lM6oACpDTukXdJGnqOKscreSJDmZ7cztL6BYuivx9adeEkd7k\nx9lv/6lz1wAsNB9C7PZJx/tt5jFh75rx46XMnZeJo9qD1zHx1SE24brRuaf5\nJ+I8EHucjRmKCuTRyp+cGxCQlhyXq+mi+KK1lWUqrdVi3klAgcWN2M98FZCP\ncLeVWUWUxn92GMwacZ9RgDzRqJBQfbUjrQe4ekZZ3Q5ASLtgcAw2qNpn5Ftc\nePWbrHtd39ta14dFtNKKfG6/JLWhFbTycuoygboR2RsCr03hH+/CHm9t0FPN\nPi8TkYJmuw9Ih3g3iw56F4yiRg9k3Cgsv0E4OoJ9Zkb0kF9Qm09woyyBz5EL\n1ZrqP6OivNSpaN1PG5e6tdF9EWUNTo+YSJCl5xdOW9auPjehMzT0A0VNoT96\npxpfjExotGxx7Fu0w3gH/sIN/m6I9TfZdA7BjFTmQM7Hkou9LHW0atd0uz+Q\nPWaFY+ystgd2sxZdc9Pc2fCaiZISEt+uVCmLC8HjfXYoDoQJn5lWsi3/ebyu\ns8f/lgCNw7jCipGDCCNJ42oUFqy+xRoo8Tr/7NtsoU1KfBIyfiGtmElwSYJL\ndUAtqi/nhUFcegZTucj1xYkQc6dtvJYXUO7WQCnBraEE3DPnO0oCWz0O8XBx\nSE4f\r\n=w7NN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210603094608_1622713578741_0.26517705023015914","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210603100332":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210603100332","_id":"@accordproject/ui-markdown-editor@0.98.1-20210603100332","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"4dc278de28e56e50e1f3ba9db833ef00f30eff0a","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210603100332.tgz","fileCount":6,"integrity":"sha512-CO/qvk+SUo14NBtXcipGuTf+2mXcHsTNEEGp2o73HNj/sUsy/sWT2Kd7qEFD2wpmH1J12AHt41vyfmEzgmqc5w==","signatures":[{"sig":"MEUCIQDymiyqAofIBYXpOgwfRiEl/VGh49kxK7mTyZuO67VkmgIgF2epr/Yq7biOy2X1k47cysMU5puxNF53R3VchBzofZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJguKj9CRA9TVsSAnZWagAA5XUP/2XN45dKAo6CXN6Fczfl\najj+q6WlnkHbSm9IRhphQNkVaS+h5Z7653Co53Lfi8mIGTz7x9qvOE14Ekrm\nbeg3FZs/awkazgpR3Von5WOczAZw+94Ib9y3kuUJW8/VxeYQf0FHq1Pw8n1o\nkGXH6INvgD4nmQLS9Mmk48Uxf0p1TYLiBRehgOWODTzuFxjCu9l1LKZpw4C2\nEQQiSX7fPLfNg4N1mJJJf+IlSSZkXXCW++Difc3/czjxr08ZELI4Dcmg0RK8\ne0DrpCj/toCbV5H4JkMmbNS5J80Bque8TPaXNTI9vRcwCRc8czekAHV3HG6L\ntUgZ8Okqt6uSKA+hsKy4SbnjR+UUq0nKmcZbA/a/mXJoW61e96Z9tDAcKNH+\nDcwliO7T2gpolUESZiGEIY8Ekpyv8bmENdThpgZSbHGvTN0prz9WZES9G3mU\n12CKyJg93nUif/jknZFzqlQ5RrwK6kV+KVYyt0rAkFoP0NTKM60RKdB5t2Hl\nCB79gkUuHTlv8LdmxBHE7mlvo8VgXRCdO1/1CZsUIqVx5naOTOysbSLRSMra\nDoHd5EEp+FpojGSBUxnlVv/WyYZWy4yw0X72QThyfgGfwW49/ngmAxL/4JRe\nRFSIU5nOSUD4dmFQ+UndSxAB5mmDQWs8ylVADI2gHdxZ8aSv5IFezNyWctrs\ntD9f\r\n=oiFP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210603100332_1622714620883_0.9007498519198927","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210709122237":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210709122237","_id":"@accordproject/ui-markdown-editor@0.98.1-20210709122237","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"e101ae8d0dfa26ace0dd75b23ff6a7b0fca2e898","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210709122237.tgz","fileCount":6,"integrity":"sha512-Y82NrwvSV1AEvfxNy0ySRGU+y5lpZvqT7/8aywk2ct9qwmHIX+Q9qy6z0Wh335LtoX65xdb6ncQzPedBb4HmPw==","signatures":[{"sig":"MEQCIC5xiwUC40OG3lIqonXafEhf7X6Tj5IRSCSbXpfy8ip1AiAeRKnMcZVcXKkXbrtBMXY8fikn77BnUgvIrkXecfBCzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6D+WCRA9TVsSAnZWagAAy5UP/12EJyEwKBw4kAQKlYdS\nepk/V7dZ8at6iuG6EqpbbNlADcE6Pv0o9RCIPAj/Xbzg+wOJxJ39td0Gk/fa\n5TS7UZMqgte8xFYEERq8nL49kN2bnZO4pkaLJxBSz+wiwo1eaO7Uk9rYmZmu\n5ymTmCR6ik1Qm8xSvJ1KN+QYP/b45/qaPQ4wyObgY58Ri/jJ2/AbUy3bdVvu\nxQXm07jxSwEnapbcC3evqUqE5yKs6wfKY777nxjByFACmB+XYdTpTfYjavgI\n6J4CkUiyNQSS7O0IR8g6jN+Lk7uz+tIW+8+mfn/jVIy+QTFrMZE/77ZECQCC\nn6l9irLe+RYstuwoPl37TDvZKAnNx2W01+pZFO1i9BunfcHrCFAbvY9eKrGw\nDdHhBjTdxcY31/WBwvPhfBcnRM0FcEq/bh14RxAVBCNq+ptZzZ3pwaCY2nlL\nCFnmhdbnJH4FfZaN3qDKqeDZRU8TwxiYobRBeQJC90P0gyS1qU8KLqKZRtaB\nR03G11z0Doklkr8nHqmKJuQT6ZAZBTPpHVXHvIZZm7SGOJWcty3MpE+gRB+m\nni/4O0B2qBhCxH5gB4jGXFbeUbHu18qNzpJEj7y+nrPW2USmADKE7O0wCmgO\nexh9Ji5VpPosx7Fv8YgZpuGLqoGl9f6xvDzBf4iuXDWwld14YhAxTJ7BNHPm\nYCGE\r\n=6HGv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210709122237_1625833365604_0.4893694073959862","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210714091804":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210714091804","_id":"@accordproject/ui-markdown-editor@0.98.1-20210714091804","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"990ff19cab81e03341b660947d95097319a2c6fb","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210714091804.tgz","fileCount":6,"integrity":"sha512-y+lxUNSXO6tm2Gh4TSrvkj4CxYwKSCAfemiqdOfI2KxtXnJl4NDS0/YKvqgB3XnWHgKulyeUijLAOuAjAFOCbw==","signatures":[{"sig":"MEQCIDZ2l0PRPVNBbaYvcsHiM6w8TArJiXXpZK1XUz0Ka7BHAiA9LMdswNwrXiKWHZE6bqlDdGpm2zkv122RG8olT/9rqg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7qvUCRA9TVsSAnZWagAAU+MQAJGP7xOAdb4BM+TLXb3H\nkLpIPLjjOf6zCj0FkIzD3QfYcZeL/kQg6eT5YhhvVeJS0I3660Al3qfEIqDl\nVodPP23WQABQVPf9xEjF83o8b/m6Fjxc3HZt2HH9HB4MYJs+M0qG9BkyhG04\nhZs5M/Jdkd/wVmndGDE6NlYpcepR1E3KAfdVrLFDjhZvPh4A5/5OUQTVbokK\n/Xg3zVIQjNheV0I90ve4dpP9pf2xwAq/jAnyko8skC7EG3IDKuWSCiz5mQ6L\nc/Ag6hxbs0V28/hhB0c8B7GJw8q6DHkkvxY3cZmsge2Z7hgchGXjslIPHRR3\nh9Wrk2QaAt+qlVsofc6Vi8wuMcmqzzZ9dmmFFwI/VRQaY1M2oWHXKIOcXIPC\nLZBk0p5dxm4Wn5AmwsbdSejBXoGJ5xM5PoKFTHIWgJJu8I9HqltpLFRFy75R\nDDiLpi/JnlrKLewEDJxGkKHHm3PSiGmsfYHkPLSRELDNRjkmk9CiJEVVM8nv\ntsf9zy/fMPCt2f0UkQaVaE1b3WJE1uJJ24AUY5J3riGJPg8I28iGXX9RjbaK\nGfe3P5+DrKlbUDRK/T49qFVqCFVT4nZL2kBQyumfw7Tkv3TGZsplDL4qS8XX\n5qsvBwGL6oKDIZ9JChWhbToY2909iI3e6hBm2ea5wD5+Y1nwJV9hlWr5Taii\nSsjQ\r\n=iO5I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210714091804_1626254292037_0.6155950319334955","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210716134627":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210716134627","_id":"@accordproject/ui-markdown-editor@0.98.1-20210716134627","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"31f941bf4df92c6c11f02f253ceeb48054dd6297","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210716134627.tgz","fileCount":6,"integrity":"sha512-GQn258Kr6VqADrF/KsUpr8fUojm+RiyIJlcVMbV6pBFvILGp5mQzqXXRZujmxbjgX+q7CCbsMOJhzJZOOlaaOg==","signatures":[{"sig":"MEUCIGCDB5tQLlsifv5ciB9kIiBSYOivHKQnUBMujI1Hlxo7AiEA0Yg26d8LL41TzpANxIu7Rt4JE1hQ1JuwioQBdYnkuOk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8Y26CRA9TVsSAnZWagAAIJMP/2U5wkntSGDSfNToBn7M\nWpbpBY76SGhof7dSVJ8vCi03kBjbthAi4IuP0FxAbvK7Q5oVhimwhJ06HsH3\nP2HcoiYHmMo0R5DAXEu32/BdWHoMDuXREmmgBJFakFocmoTCkIMQuqFf3kv4\nnnoGDuP+SSzi6Wekwo0vWD1E53ZmqA7JeSK74mk9WmBiB4VD/AUcuICdLJf/\nm+bhRZG+YebM7hr30AHWa26ws2mu0i1aNcAE7CrbwVv94jwksPMaby5Gvqi/\nyqnV7e7S1sDdtWDbS4ae+9iqDKi+wOW8s2/HfW7rf9mkWsHRSL+KFsnEJjft\nN0O8f9kXGjWP23wPul1ZZ7AZTOfoX8+/DMOonKV41Ad8tYTVZxla3mnLayVo\nohU+NVuRNuN7s0JIPImSJjQKqLyoGZ4pF9Fztpv7i5XqfTa874dXrKTyEa06\nnsuPMDeB4cG6ozANogQjLzkdypk2viNTYq8vCY5BVwPj2IKIdOHctwzDUqtR\n/Id4a0Ied8DQFsBN5UxvsuI8nSWAMhGEhQbWNDrGYnPJxqePF+MfTUHXg2Yj\nHc2EuwxaV4I4pMa/femtl7RB3Uf3k2uQIuyl+Wpp9XxRAvjDE/8GITcUmpzx\n2N6MYwJHFpjRzeS9CkydCqSup5Kv0nTOeBxa+lOo2ZBMRdpCBhpCKB/XXpk1\nJx2L\r\n=qyQZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210716134627_1626443194829_0.48767557577743204","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210716204707":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210716204707","_id":"@accordproject/ui-markdown-editor@0.98.1-20210716204707","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"dd874f3be11e0771c4524f8c2bcfbace80bf6040","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210716204707.tgz","fileCount":6,"integrity":"sha512-sK1mgfdAg9OZjyHTA3T4DBS0RodMcL+6JlNhhq35qvFLlmDJ0s4vJ5lns9dHM2gTqMkVaBG2anOW8h4xrHHu3Q==","signatures":[{"sig":"MEUCIQCY9ua1ojQfxmyMWl+Ehpm6a3GFdktVsx6w4FevQm+PEgIgfhprYOm6lobeM+5S0ZO+E4HrH0GZgJp7JSQ07COCKNU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8fBTCRA9TVsSAnZWagAATmkP/jhJFhgsd/49OlZdHKLZ\nIX0zGGgyxoJ2uOG3Zg/zYekDTZfTL2xDPURwLnXL5iUL096FVz0ZuAGVsFRG\nTqNLdHAoEslScyW8bQG/2ZpFA81wVJ+Iq5NQLI/qpDYW+mEwyCdEA4IrTkzS\nBKuxceMnclyekvVSQMYNDuWqJRW31frGfZRxQH/CSO2BHZnHu4T7k5x7RfuG\nH2ayAIotieYlrBkN8RMmq/JvMNI34xtpUmPz7GRXwjVIp8rmw4nMqvabyuqw\n6BLaZoqU//Lq/O3H1d4kBUc/osw7k+R7BEvZKE26KR6Kw9jkJ7Hatvg9fWOj\nXtDBMX1kmFiatzTm2dOtT4/plK/mv/PhIFzgr3VQ36VT5cKcg6xgY0jE1O2O\nBb0F+sz/vtysn2tJOa4j6IKExyNfR0H6HP//0wF5rEYarW8aSwGxzO64sZao\nIA/jejSki4HD2vL+ypUIBXaNY4yTJV1xC+RPmESpHZ40ZISI+x24nZHQCp79\nhWqbR1UCrJ7jZr+ycYsD9vVjE8a5dmYC3jBjsXcMw7Vsa6ik8o2akres0y2s\nngwezZgRJXPjuSTLcV9KEN5PyLeLJm/fNPWDNZrMPiA5XICNVeg2mvrd4kYe\nedf1r3cSdW5ltr4kIlxt6lbKzO+/Lg1PjSPe3yXBbM+dbyxe6kjXVNL649vp\n+LaV\r\n=qzf0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210716204707_1626468435267_0.4413724511339645","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210720125148":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210720125148","_id":"@accordproject/ui-markdown-editor@0.98.1-20210720125148","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"7ab8e25046b0b8ad0c09d3c5293272d580e87828","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210720125148.tgz","fileCount":6,"integrity":"sha512-AIq98j945KtlSc4pA2/40PR/S9/7JmAEqhMJ3SlLYbDgtAfiFWoyW8F10VqIeuO7LJeMkglSmUZ/BBeDXOtz6w==","signatures":[{"sig":"MEUCIQCHATD7zJcDINoU/GDI6aLq1zkR87zAvQbcJE9RGXWu3QIgLgSrhS/Rcu1SGaEONlTiK+RLgSj/oJ9L5uUg0JFxyQQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9sbrCRA9TVsSAnZWagAAkJAQAIs0ItmSeF5Ws/yGmkfH\naWP+i+cDpDwm0RP4/WYo6hlpaPdVGL28Jmu5YeDId+Ttz9WAXQJAhG6Rb6aY\n2840sPGG//HRploc+0mTEj595RHaAVPdks9U1XVN7dS20HFlOG7MIIcYXKhY\ncjNnw3es/lPmTJx9nEfh9OeltZ440EKE6IPp85QJJ5Zy5vG4QALFp0ypsxmy\nOEr//l2twKDyHMXn+lk5wA+RKjXsww/xanTTJptqKSEXBU07eI8gVXU2GORH\n/V3gQ0HWOPsGvDvNDSxwE1WjZHZ+aLQjBj80Ugv9bMZESjrmtdn9RgJo6vad\nfu1+tVYUpxuleawY8oBImipGtXpKsMx5zeNrnBIQCFFDv6zIT5l8BN5Gjn4k\nZT/5ieR5R6LX63YyvMxq7fo6ySQ0dmtavRwV1Ah9tG8s8zspMj0fhXayCfQq\nlgAI7qsiOvnyItfG+wImuztpc39As9jMaXoRyQKpJ2uX/5FFOjg7SNY6jJMy\nvfwVqoezRzkQoeUir0Zn/+MmB4ww8itxas3MdQQb57NCxAfCvB2b3CR2bHhO\nHmUV1EBERftLgdoRWW3RKiSeOZ8ki19etzZff27Jr74cbbxtx5PRD/7ALUoI\nn0IZuU2KaDNeorNyyYxPWiIKwxFw1R3M1pmR+QJS0CTXNrfzEMf89hD4oqst\nTZ7j\r\n=noik\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210720125148_1626785515554_0.7329939358003719","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210721171113":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210721171113","_id":"@accordproject/ui-markdown-editor@0.98.1-20210721171113","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"972a1cdce97751281fe1f3e67ffbe932eb878cab","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210721171113.tgz","fileCount":6,"integrity":"sha512-K5mVF77Iv8Yr5ymndzklmbAeISxbbWfIc8vlDWNycVhHkbWABsCqjiKblRWLffqK/tAcS1lMv35xw6N8zNUnFg==","signatures":[{"sig":"MEUCIEOfZoFhWJtIqoc4C6tQzNuWZYdy3DvweLJZmZ2WhwhpAiEA3Bh4QWo5o47kcIS04W9MjKvN3uzjupjsK2oPLMw6oe0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+FU5CRA9TVsSAnZWagAAEEMQAJiOWZnslW7B2QLSU6uv\ndIbzNSvHqrXwC6Em+N99x9bTXsU/+fqmLFjekFToWkY0MTpXLO34Q0n9zjSY\njexd5bze5nhssgRLMalv1MizX3zfcAycnfcqx3I0aGs9ItMDiRmryQY2NMNQ\n0QxgYWRR21C/0Q+YG40m9/vMfqXwm2XynCjBZ4NEhZnu75DFisUriYDrdq/a\nWZgI8pDk7ePxEc3cxFjzzg/1gQpOCYQG6Tq/vcYa7OttFW5E2KWquNcT9ih5\nuFdjaofJmIwkb44bCgHlx5awrLvP2L2YSTHjlPS2360btKEHbOF/7oxwslBb\ngp6II8/ASzPGFYGrVBPpmnU9TFesJz+aPu3c4tS5/snAXa8F+tT4f5Aro9wG\nKwO0hX4D0IS5dvoGchkbqP3WnjAK3a32xXuoIC7otgpk09mR9kYdX4zu7wyL\n280XUIxj3D12i0hxiFRpJSrOVKhPD+pwllN9a3jX1AJHwYKw/LQbfcvtUf1w\nTIpksjAtKZE1W/8beeq0Om7AhYIzTuwW9OegHJeAlw0kckNugHK0GtfObYiM\nc3JpVzIHcQLyTHruUEjKGJ4FUTfWXeuEsh96b/JLWqbMYszBwiV/L9q5F9Cy\n08JSX2pVIM/lZWb7oQt7Hj3VvWYuLARJ5iYwLpIBrDVnn3fMaCSlgaL8qCh3\nqYQl\r\n=c0sm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210721171113_1626887481164_0.8420719052595691","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210725001529":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210725001529","_id":"@accordproject/ui-markdown-editor@0.98.1-20210725001529","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"602b094fa92eb9867dfc401390a0f6729f69ab33","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210725001529.tgz","fileCount":6,"integrity":"sha512-y9Whcw3zGDfvuZ0rOG2BdRWhW+Hs32Vhi5H+54n2cUszRq+9VKqsIs4gU9bP/F7Ovlu5Wo+A4RJhHmhGcgRYCQ==","signatures":[{"sig":"MEUCICPYiEb74XBtHLom5XoTK2r62tPpI2uBNFNALGagM+j4AiEA5CmMGFFbyNRqfTVKRufV/PExD/oQAoZdeXOT4mdYJoo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/K0pCRA9TVsSAnZWagAAEtoQAKJTfa8nFZfLjZCDwC5a\nRsCNCMIg1ErPoyUtzc1J3toRqkQ4sARySauwIkcNbYQxgbH4Dc6RbT4RaJEX\nZD9L4OALXm807npJYkHXkA1heqKIDMaOin9pG1FAM4xmJ8gcQRMFrpq01N1s\nVN99PpjEwrY0gXZDvAlKZav3AUhUN84dzl1x2X/XhxFv5noEQNgonjxkUh7p\neEdm7ga/Noek+txipduMbRS4hipFVZE7aJNLLmdpl8j/DBzHLf08Scw95GzQ\nErrjY4sjTzvOQoy2CZRl/Z9YVOIqfTCOGyVaqBCJnpvX+MVuOwOoRBSF2xD4\nA5vkG1McQD06vwMdXo4Q28acffn6PBx1gGcIXLwPmFV3ZM/XfCLyqZUmETfg\nRQFPv5VPQTOjZ7QwLv61JSe0S0q/SPmyMItthkivKQ2ubteA7aWTILI1t/KR\n4rLl6PSbbGxtXD6zUqJ3up4O8GDhzG7xNEjoQ8db/tszs0Rx7iRoYEP/MNeb\nfwV30p4LfN6L0GwyqGFueJmrbn4fw8QNhn//YRF0ba6CCU/MvDKc3kujON+5\nu2QocW5j3iJKXxPrSYi1jQa6NQAsZNY4XFPMwn/4uMaKueugRBGI1K5vpHgc\nrszDMj7r0uX3UF+vpj5LlKI1EjGCCp8zk4AmTmMExzqWKnwzxhnghdbj0/nf\ntKzI\r\n=gxJY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210725001529_1627172137173_0.7705480379065728","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210726201932":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210726201932","_id":"@accordproject/ui-markdown-editor@0.98.1-20210726201932","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"4ab9be2f2e3a0fc1b1367abdd8f0805ede99d669","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210726201932.tgz","fileCount":6,"integrity":"sha512-2O6kd32NP6dEEMIr1pz7kdTawqR9sY/1TF4z3t/909O3Z8ktorXWaMSMoQqWNkeGJ2TaEEeZTuRd/p0kmTRaaw==","signatures":[{"sig":"MEUCIQDlIynFs9XWnsW8U71f+RkSbLPBMwaEUAfCGDoEIt5jJwIgOwvIyj9r7wHWk4v5G9VcIQC6w3/1qcEPV0NhJOcA/F4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/xjbCRA9TVsSAnZWagAAUPoP/3jBb4hUp1FxT3TYuTL8\npnfaWqeN/9OY/9Z+rX28fMTHgLztW42VkJ+rG4JfqV7V6M6dVy3YPWMe/lsS\nkO2FxkD69LeXhtZiOz1LQzhkBfszRFtk3gwdMR9EX2yj35k1lANk29jTooLJ\nq9JrjB/a30Cv1HsmfAMXZBnq4HMceRwEfSt/tFBxVGr5iEHKiYd96dm1KxYl\n/itOj9gI2KuWzVv23pVC37mv5d/sCdMTixhUD6ndaA4glNMloSe+e8fa4QaA\niGiCjPy60cymi437ZOJ2AhaRcNvKXj//zOHcVTnRY5ytihN7APb+fsHKpB5X\nh0JbvUZ93INOrE/xz6z2CXYDCGt6k+gB/8XAYUlEMTE+kEiY1RdnrP4U8kBp\nA1H0WV1RN38l1uA6vhifsuOghI2Owf8XaQ1HUgu8H4ls+jTIamWRzoGOwMH3\nlGlNmCZMjEtW7CMoguaAIXkLNVH9mgpXBCyuUn69ZR1lkoIK62FINsQYcTMp\ni8EWSDdciSXN8WKKE4U38NXV2+MWQlXilqpGh0MH0Hrp3Taf6BnNi6cfDg0J\nmJZx4mTPoCWBef125x3MVxGoc+Ra9uG3AAOWYHF5u+ZBGy0JqjC/Vh2OGL+x\nZ3z+RWKT3jyvq01xXHHaW7g23L4RysFRstAi8d8sZMbxJ7gT5dws3mFOb1UU\n8FEC\r\n=fGnJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210726201932_1627330778974_0.4966987373253555","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210726202143":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210726202143","_id":"@accordproject/ui-markdown-editor@0.98.1-20210726202143","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"3ff8227523f97d2d563f2c5761ff74ba183668c6","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210726202143.tgz","fileCount":6,"integrity":"sha512-oxeGOc+bqerjEcNAEtJoMfyK4XcPHBG53nexmCFG/km8QuINNvaIGH04Dq5KD/w/JwvvsT3dOUac07CvuDXrlQ==","signatures":[{"sig":"MEQCIEXcYivBOuzVPcpf0S+gFP3ajZDbZjiBb0A2j5IZchvqAiBrsLYtrRtw4AXetMVX5fmqME8T/vxc3KyEr7C5MBQ85A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/xlfCRA9TVsSAnZWagAAStgQAJuupCLglLSBvvsWhDKb\nGJv4r+qDYpOr2B0sRejtdWUbZO3lqB4zY8IlRlghz01xTnW5vr0mfAOFJRdw\ndZJ6FOX3dX3mOsW60xMTGLfueD2OlUNhWcjc6Ju/bNBhdI8VN375bUcNuLDc\nFpW9WuMqhDSHaFVBbSAlC8i0VJbEyOqCjiMBC6yk70fWXv8s6rne/T2ydh/8\n3niUKhbs4SYQq9P8hCJfnzHH0WkdLKNWsyTJLMn4OG4NcDbHWze8RqgplPur\nwfqKNQChKDQHLGtp3RbbO2MBlVREYc9fr9qMeXCQuRZggNBiSEphIU2+BYEv\n11NJcWjeBUb3gUi2ZQHlFp2fpUNJtt4OB9sZ6gSdkBtb/zcvMxd6CZNnxOeL\ncATOdkq4rWp4/w4XlsAxVOYKWWQF33ui3DsAqX9m0hCwJz7l4rycnn8GXj60\nnSK6EpAhE9D+HMjhE9rZ7U9hgmVOmLrlJ/UvzYB3EwvHjWG0+cdYOb28R6mx\nFXRvfvCWn1FO11QjuwyjsxOn4vGUD8btDo3qRFoD7DY+KVrJpFUvfa809oRj\nLlfbaN9eayoCT2grP+Oj13CGccgmx14//sKJnEgA6DHTJ/5lZuYO1TR4hkhf\nwk/a4YIbWaNZl7dH3PSPuDWbCrWzKNsT5GJTiCwYxLFv1J7ssG9PMAK660Up\nXiRI\r\n=r01C\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210726202143_1627330911490_0.07522423022255298","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210726203311":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210726203311","_id":"@accordproject/ui-markdown-editor@0.98.1-20210726203311","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"a61bb5b6cbcaf621d0942bc2b434c391bfc33df2","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210726203311.tgz","fileCount":6,"integrity":"sha512-uusy+7V8ND/puMdF6wru96yTOtV8F17/d4geCNeHzGdGpsvougR/MvcKRU3BGSPLP2pJOF96IOFPWUJv1GBTxw==","signatures":[{"sig":"MEUCIB0mq/uJGWMV2o+HVBuLfhvMouaReaCNsEoWOpw8FPrAAiEAkdtD7Qnc9bt3QpwDsVMoidvH+wJqS4ikCkIfZyE9QVU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/xwQCRA9TVsSAnZWagAAIdYP/RQoIR0kpHMtQCSW9tUy\nenUNgE2m/i4dMeDdLX2veB6qrUZe1MOUDGE3mhFw7XP5XTzoXzHhJ2hLVMcr\n8xk0gFs+jh5vMFHeljR0TXQMXN9sQ5AojhF1x/YtQ7qgYFUa6yHigLUgRUoE\ni6UXi30IUMgSnlJwvV5oYZr1wpTQUai8hIVE//OoEx5cZ83LqYFXNmCOe4Bl\neZJZWF5WM2SnaNWnYTosk0Ld4ECnmoYQe7n8OipiyL+F9zuTpraZP3fLpvoV\nZIptNeXFzKKn/CQV5Nq/FwhexpkFLsVwzVeZEgXkKz23KnB9KgAHpYG8scWT\nuZECMeIQKTHzT+X7X7vamE+ZLD7pXWMKdr7JRsfGpuqFe97MW6L6OUwV/AJq\ncf6KNjcfYD5D80dbcjF9VxYPhtcnDaTEWXMWPcU5yvl6r7w14QKpRXetfPcJ\nOoDWeYQOYas8MT2o2ruCouKZsHFbRmmTG4LOrPZdaZm8aklqSVxaiNCBB62F\nivfpkk4zlmVJgimwW6ue2kZQNxEZqVapPZf84uSw+72zxPGLf1Cp+9Hlw9Ib\ncbfbXymlfUAWvx01OgaREpcubidWsYNs8U460+ry620litH4sCl4++7gdwfn\nQVKpR3fSPakN3G+dw50d4QmEm6nerICGxHBL65OXrh+zpODeJ56ojK6JCx8M\nQ1ty\r\n=o1V0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210726203311_1627331600512_0.8714187892670597","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210726210910":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210726210910","_id":"@accordproject/ui-markdown-editor@0.98.1-20210726210910","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"7cb1fb53f83ed87e24b01117c9a3d741561da629","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210726210910.tgz","fileCount":6,"integrity":"sha512-3lNK+ERJ6uWlh4872wibh5Za66/re3kwmiYz/fYeitM/4a0CenZzX9XUhD/OpGoK20Hvjs2HXOmQiFuauFVeNw==","signatures":[{"sig":"MEUCIQCH43KJ+ZH9iBbjhBbBp6VL3AFFvSgfMj8vJg5MmKqZewIgdBQntK4yEHYSIz0yQQdFLfKlxmCHNXnNs2U15Cer1RY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/yR+CRA9TVsSAnZWagAAH5UP/jeHdQ7nAVZGdgWG6RFt\n0Ze1aYS90Sq+jFq4b/HccqACSzm8cEFNgBgXDqMPm50Yi6sxFJE3VjmPjK8g\nl5rIqOgh0jJ7JyJ2FBRaMx8mFoEmyuOuDhj3Fg0InnW/mjLCmsDTKn9hR89i\nfWAJU/e6/DoEM3tX94RedDvBGj554EeTtrFlStEgmJU1WTJvEnF7OZnBZya/\nJCjiSX4nBvXYsP9sNb8Cl4TPzbpQsmk4QwD4iBMa5wQHeHDrvIZL3M+Bcnim\nvHsP/PTnKo5erzrfw6b9lOLs8y78H4G+1sZMJbql5NjApvtbnPnRx081J7R0\nWW1zSstApqnOJQkahwcWY9a+1kbSEVAeBpTnX9xkL92gmBimJFpIHBaTXVMP\nNqCsA6y/GwIlUWQa48loUPh+ujyiVbOzkF4CWuArgwL3+LrT8x1cOrhSZLgz\n6DolRIiaGtCDzqniF1fj4rTyHvQLkcLZzTsgahvfjCxJQZHvY9ibVMkFPfYY\nmikmBS35UlX2zbdN5compdk8blO7TW2SDrosNe/cjqqEZriml9E8qzG78Tb3\n2mwHd/d70+h/ohaQ7wyTEYXtJNEiRo0eI+f+nZRNNdWERyBaH64p35QCtl8w\nmI1r2LrO4c2r/OTWQp+BDGci5MWPjXB8VSem02don0I5PFRzHkvlLPdPUxtv\nJaKG\r\n=1D4y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210726210910_1627333758083_0.4042576968475444","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210726213245":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210726213245","_id":"@accordproject/ui-markdown-editor@0.98.1-20210726213245","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"22e131a9044a1019844d5250c57a18f2e6c5c1de","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210726213245.tgz","fileCount":6,"integrity":"sha512-WzwJ7Ip8pbGxK8Eud0T8tXn6a9Qg4vTtNphdGvmRaHgwRCjLL74gSzQJo0gPvH1dLgYdPIMwqqLv/19yljTCFQ==","signatures":[{"sig":"MEUCIQDjEZCYjFW0jW5PvZMMsp5pE4E9mJzNmYDQ2kPLx3HcaQIgIWFkxRUuctMiMXfcTEq5xhQ9EMYf8DQpOLYAbPxi0LI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/yoGCRA9TVsSAnZWagAAb0kQAJEZ2nvT5CjKhLvPJ07B\net5ScFSmUZkfGwMcvMokqnfIBFrlmnnUZaBi4F0y0txgUKBIMm48cSbHtKrD\nqZJnTCPqAHYQolFqdsn1axPr4cGA9eApVtMixeIvG5kRuOdEmontn3AFHZRq\nLa23XOlbpH36NXHAO5Sx4jwvzuaMvdqgOnOJoOrjLs0d5LwX9u6PgDzhIUwV\nmnPznJEIx3LETOe+1+hESHOo2qfjfIcCqr/PE2S/vUGvtqXgtAgM1bGrjc8J\nLZ7GgR4aZQ3xBhQv0Lip7kxb5xQAM14yhVfuVrlWKdmHeHDEiBWeGTLS8t1e\nXQ9jJelTShB5SBZfXY/0olLlmT8riBvJD+cDAIw2YTSFfx0ZFg01eQDzKEJG\n5gjZZqyRXzXgDHHHG7W0rEbrsQNIZ8GVsEcHofC/7tguniZnni9gWvBTcYEK\nInhTGRQob9QM4gNt174ZkljzcQy6gdHFukMTPE7hF7u1+Lxm97H2FDW8+0x9\nNPEFJNro7KCZw9jOEg1Al0MJpAscl2v5NZwlCc6SOh0NBPSCvUyGUqIYMG27\nmUSNtSIFKj0rRvAU40+l5H4QXmp2WX4bZyOixZOh3O2grhU6IFbQBCUJvo96\nbCCmLHaT+cHu4RGBan1SvzyxlPPo7zt+XKRt8pMDcbEn3Jg8PCmZpzojI02+\nh/PO\r\n=BGaO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210726213245_1627335174112_0.8171048622946049","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210727145332":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210727145332","_id":"@accordproject/ui-markdown-editor@0.98.1-20210727145332","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"0cbe957516c2df0263ec4972d2150ef78376e9f0","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210727145332.tgz","fileCount":6,"integrity":"sha512-Ix6X0BD6ee7ZBzQAiLpRMQBOSrFmzdGWK6C3+nQOrExvk2RC9ND6m1x+upoTgR/LD6TURn2E59aTPL3xQcA0/A==","signatures":[{"sig":"MEUCIHciT0tFN8vWjZNWJxiV6scRn2NM54GIBft4cqG9ht4FAiEAwjOKPK6wNE5ZQbdFA0aVqAWygWKjJauCZGnvH/nB2ew=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAB30CRA9TVsSAnZWagAAsEsP/0Cd4ezOm9O9IIjyOj2E\nRGiV7VPLVY9o/SI8qwQQw91TbRDNe1CuoTI4e9iO3TA6RH28NZLa/SBQVZk7\nVq0fUW7s4OMeIu3bAiaEhyT2NBM6pnUxtp+4ZMIzKFIIZklSrVy6qakPyGS6\nkM+MExclbij3oz3Suf2FAEkMEf/HQsF+tY88GX/GH2yV1lQ9c5FwPAI2H5NV\nAJzz4zMR/HPyuEAdHrtfDGKiD32Xpad/OLxns7TkVbJDhRoF4AY39cZK3AS2\n2zQOKndNdntKaTsgg2NQwhWQk45xx8NUW780rLjangZd/uVtbwfGONDGW3la\n6BKVpZ57RtRqGGDuOFr+TTbtkio4NMeujwwPtZn6JGsqp2MKE8OnJzMhOHBz\nECqinorSVB9p2HmSR8r+OCcdQQdNzkPNVbNbXoRxLGvrNrmiExZg8/kUQxnq\nUl8vizYyXuXNBhXLOk+l6jz3r3X9WlSDlGTmiskeXRXoi5zlopHNSVOgwr3n\nPwU3mvQmBuqe4/+g7YoVT0Fs6g/CtsMIlQRssH/yvH6F169zv9Csu6Y+XAHW\nJ2ZPIspSbJYffNePp/L5IysOvrzIgTGQRzUjV7NUKyxKYqSCRSYxONlo1yQ0\nmUpqireFLT7Y9xZk25CVblPxr+YQgD8hQelLcMMv83G5YM3Rniu0HgSJbvdM\nxHWF\r\n=X6Gw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210727145332_1627397620392_0.5710386269315926","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210727151205":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210727151205","_id":"@accordproject/ui-markdown-editor@0.98.1-20210727151205","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"1514d639bac732e7b1cd1d339dd4b0df151fbbc3","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210727151205.tgz","fileCount":6,"integrity":"sha512-nDUKx+F+a7UtEr5ZfnzN9mj10NJdFSJsQ7AMxt8uBFLkWjv/FU6zzQ+UtTOu1rlSr41oXu/2ePcY1IJ1G/FF7g==","signatures":[{"sig":"MEYCIQCpsU3nwhlFIG7KpZPnsg326Y48NbgZ8HcpRTagyqHrSAIhAKBjQn6Bv6JJ/oWtgjrIOiNvAtvA3f2yw076/lBcp1Xc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhACJRCRA9TVsSAnZWagAA2QkQAIBKmN7xoNULQGOAe2La\nbODNhh8QxKX1ugJ53aFGl9KY5iXaNhrX642VrB2oX2ZcAv30u+F0878e2eEd\nxOVTw8AVYjHhQCg2fIQdx00Cf4zPNJMAPtOb9rqrg/w1tlVThkVRcU3vzSmV\n7I//kMea9GKEdzSVp9KNNx0Vl2Sn2bCJV0/z8z7Z3Lzb/Ggpm15C+0JX6AJU\n7yDAxIenelrqg6SKfN+kiwy8d7Qx0z+iNlpwlpHS4Q88iEfaA3HkjZquJ9ir\nRVQ19uoS1DjXiTG70baEWx1V9/oebTvfipBb9QGzKzWMFPD4QqWNY9sDEpJw\nSwr+Y4JGe/thPzOHQFjNd8t8EUN6yMwHSP2K7efyh7wD8ScFVJNyFZ15RNPx\nSOfVeoGS7JtVQWHd7Bwjp7Tqykq/uGFC08O+MMCGCfMvh2513UE3V3M4kx4d\njcR++us72SB9jfqwQv3UWz7VczWgZpP/Zpn6HMEOO05fLZVtWry89HViJF+z\n4/KIMS5CwBNXNN9tGGZXWsqsN0SIBwnGrhGoJo4cv/ReNxDwVGNDVAX783gR\nRF0ml+j+5C17Chak+1Iw37Kj4707ahdGRbefTNmq/hBe3rtJpxeiqOHz6qPy\nqefuVt0ZYaIusC2FyPKLz5DIdlN77/HhxeR0Ro37C+xCP+YmhCSEvC1er/sD\nCxRr\r\n=6Uje\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210727151205_1627398737077_0.4015550960671268","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210727151447":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210727151447","_id":"@accordproject/ui-markdown-editor@0.98.1-20210727151447","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"f346dbf15fd904e151ddba031431f24b600fdc09","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210727151447.tgz","fileCount":6,"integrity":"sha512-L1kiupOa0NE9et5gsP46efwK/U85BTxJ0BeyJ8jfUwSWcrfdLBckoj2D47huf0PGiPdRcTlFE1B2OdM+lvlMQQ==","signatures":[{"sig":"MEYCIQC2PIKbgI7z3GCt/JT6Vb0Ig46VCnIbz9ySEF3e9GVPgAIhAMbKd1qQ1mRSOOCgEFD5+LQBOJNehjaIYQbdz8wU6980","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhACLzCRA9TVsSAnZWagAAEq4QAIRX6ytSCZQuVMwhb39t\nOT9uUyC4cApPJsBXNipj54zQHwxRMLiPv9LZF99jhGL8QDCdv56rpKTIhZfC\nanxBRxAL63P2uLnLpqgHlXKE/I8LbuRP3r9T8RuyeCiicmo1smYURg7tht2u\nBNSkQp1kcVHEKH5U6QUjIUCI71PRGRiNhhmxOsTUcIfCdjiOPhHhjaUHK0Rd\nP2t4oJyrQk1SxINva3wjF/gPYBi+3uBLWia0M1l7ua9XBHqkptLmsUkhbe4J\n4svseavivyz2d0Ll6DkJknUsNoQhdEHTT5bE+cazsAERPjYL/wmlwX8uivLp\njcxrwDYw9FC8xdVdFb/4THPbY8EnvC4xa0MiVBcGp+92zl+Nhe/IUalm9mKJ\nMVPP2iE/1fCa6tGh26X7I3abcd3wmKvW6O9t4jqwVAvY39Wh0J7a1j4uU5Ud\ncD9sVTro8+PMigqiixwsN3pePrCOhQ0TrQ5vFgOGkq8tlYliWSCUGLqCQi2o\njDWFRiVRB9u3b78pJqfVfJDwkC6NUDufyvylzX3iwR/0NKN8IWSeA72YXHxA\nyYWdP8zRT+Hc+NISUjnvP8Q1AYzOJUQJzaGrLBEcA58knh5/Ml68z8OcfpV+\nf1bhrEGni/RR+2LQyKQqKOhVwoChYpG5czLAS9mbt7InZZKBb653PEg+2kkw\n4TEb\r\n=hDqO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210727151447_1627398899243_0.8495385289142077","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210728144754":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210728144754","_id":"@accordproject/ui-markdown-editor@0.98.1-20210728144754","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"51a99c5552b9f6fa69d2e314396886740bc37683","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210728144754.tgz","fileCount":6,"integrity":"sha512-L0c4jPhpr3oP+o4P4DeXY66znJLuSK/MIUy89xOvxpHzyW72Tw5JsV4vLc3yiwL/f2hXAOhXXd6Gb3q1XjtmJQ==","signatures":[{"sig":"MEQCIFZqg2jAP05uXY4MESXd8nb3EwRkF8Wm9zN/6184BJkGAiB791qidRrY1pqPkoWiwNEovx07o7xiXh3jIDQC7JMEvQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAW4jCRA9TVsSAnZWagAAytMP/3etHNVU1tAsRN8ds5LI\nKZNVjzLeDM3MH2LZGKid02RYYIXP5g/+NsqCy1ZmBcCwY1Y02/O5fGvOk3eJ\nXBgHfYB+q8QirklPwR1moD/W8+DtUvz3KauX8q2mYhPsfA8kg6PqK68RxPIG\nEhW8gHi0Uuagf4mQDhpxx9jD3d4lpoPsV2dcTGKIsxGYxhFghwEN8fLZky6x\nhd/rOsRUZEi/lLldjsG9wKFUDQSITHyJDOK/y2A6DVKwW8JXwZ+jNWsi6J5g\nLVt9mAkXdwRDfkNhjt9ALYucUregSTXl1D0INy+Jud9Xr/97K5hctmt/0ipD\nrowB0EyexSdfGRaVjx6xs70+wETWwsoc1jXmhBHyYSp1EVN8WQZAMx5F+8bT\nFS7eqSU7guEqwDIlKaIGmsrfKGSRdNTPcmX7e7FH+c41rvW0UKbIt7T+6354\nkNsDLkxrC8ix6KyDMnAdsrRKi+wuG7XP11scu5nVRsmlR2sCQUIgotmMwVj/\nDPRGa0g0CIcnZvndMpZ1+Ot0ABZmErohbJfkbk6d0zEqoN4iX47+OBnnRIKH\n/JRRxZqTrdSxMVplvYInH24gBLj4dBUr8FJI4MqCL0EPaZLcG6VAoaML6Seh\n0FkDg7vuq5bRcMZ8GFlxb6cvp+PPfMZUzq7RlJ956qKzSaGtKIaMduwQxBRd\nLgLC\r\n=cdny\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210728144754_1627483682867_0.33233594439569547","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210728152751":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210728152751","_id":"@accordproject/ui-markdown-editor@0.98.1-20210728152751","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"42d49bc02b0a5a2a6212d665376038084da0e364","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210728152751.tgz","fileCount":6,"integrity":"sha512-UGfmPM2Koq5FcTCjmw0yxLGX5G4fGEAX6z7qLOzq+6xTAHVuEw6Ht83gx+8A7ts5GzgVa3aiILkaZCnn+YOwZw==","signatures":[{"sig":"MEQCIFfMXgfuCf6d6jSmorZ4+jZTbJXjMPIpVBx60sFaOy65AiAbbfloLoHtPyjEPQNxfNKMiLmd3Z1W8mPo8QT61ypzew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXd/CRA9TVsSAnZWagAApBwP/0zEV5q56xNbJrJ1C8q6\n018GO0nCPX8/Z9nsRkIPE0py/n0wB8Y1ANw7Keb/8Xcrfh2GF7shjlvemBLa\nYXrJjWM4ITRxF5CEaiMBGdFnhVJPBzT9Jias6tJX6jkhl72WH+6OcBcSZ2UB\nwQ1cnvwTWJO2jS18e4DxDLANZDeSUR5mY+oYkmuHENyTzc/LjAWtw8rRrcrt\nyR/0o3uOxJ+TwcGnF9lR7+oSnmnZW3c6Qy9QcS6FYlWQ2HM2IHi2k8AMkJcu\nzpmkHlEDoJkttZtxvD6m/NxVHfNDQ1OvL4+Lly5xEq5/YCjdAZPJW6AMvgWO\nDPCZ/gvgnKPEISGxieYRF8jP+mCAN6g9wop2KkaV2Hh4sOQNM/PvcoMJU4QB\nqg+PpiCucY0cvkr173+uno7qMx2v1gv31aW0UxJwnmNr8uR8dAA0GlAzcmh1\naAZiB5sfZ/1JLgHNlGPv2aHuNmWQ7Lvrl4BIUa9906MNbd7kbfY0roccGf6Q\nkq6/5KrEvJjhHcE/aPR+o5Vc6e3Q+ijwzVpNxWQGgtVRpymtIL8WbfdMaHPo\nZUvWNPCMT9MLJKN8KI8vRajmJVKCkdNeBwg4x5F5ZF90640od2R69DgG+ifV\nlRIsGj5DOMser9d0qv7JvJp9zSkjGiejNQ/L7Ov/sXnFo70cYN5Z9uaRUwN2\nehZB\r\n=aNG3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210728152751_1627486079321_0.8276775667310381","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210728153052":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210728153052","_id":"@accordproject/ui-markdown-editor@0.98.1-20210728153052","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"9df75c81e4867b5a9e456ca2445b016d28b73186","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210728153052.tgz","fileCount":6,"integrity":"sha512-7DUbjAR3+yBVsqK9Vt6Y1BbR6ac52CvvU7JvomIBDr1ljX1Yx11oHdNGYZAufzNvd9BzqhlDMspXKnJrw4FTLw==","signatures":[{"sig":"MEYCIQDqTzA84Cj8UaXU9DdBjdJ0UVCrRYjNPl2qQR8Z17k0UwIhAJZ06yDj48CcgVDQPAZTMtny+15WxAQ3A3k6y9B7LS6k","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXg1CRA9TVsSAnZWagAAG5wQAIZ9wk1qTUaFf9wDJY6y\nmemqdcISJXJbWVB5MG3XnX1tQyMBW1fLpPdarej7AtLzUyFQFgco1HVT1/S5\nrID1Si7M6Gt6eMCwaGU786cfSEnVPS78TxjWRKAI/p5dMWcCM+OU9Kj6nVxJ\nM42cTJYYR9hhBEjDyzKbu6MwpEQrPuxsf3Vh01XlGZDXxq5Rj+VKoc+TPnFw\n4zdrw5N6DfVpeGpdpfCPT9TfAcoZWsf4ze3acsbxVkqX7lNq6STgBauAzneT\n2LcO8F3tHICfyOgD5+Uk4sIBGx9jhlzEQACbk33q2OogDgg4zB4kxM61NbnV\nyYj3smmdf87Ad3WL8BKZGKDnkfjaIAqJ404tyOq7smMKfecUmpBKgtoKd+Bw\nbBcJJFPo6+B4ecSF1DJeFkP+5e+gBC3vBKN08cIeDXtPi2I57f6dYuPYwJfi\nnop6yVRSj72ZpO3pLmxnYTcT1/OsccgCYl+jsymeATYMtlWVtBHd7Gk7/ldu\ngQs8ssV+9pIGC5hWRvcNTpirMTPBVjygdGIXm4ulBPcrnkEySV/snnccm0aE\n9B7WVhXWIvDZJ/CNAI4PBzkBdGPPlNL7IlOTQhMY8uqx4rKZ2dotLG2df8au\nz9EtVxdgDedl4D8Cv2Pnnh63bS+p0pLfOkGCeazswmNRozhlRM8t0mtAMZ0w\n7oDP\r\n=cDNI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210728153052_1627486261074_0.5401137434263823","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210728153312":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210728153312","_id":"@accordproject/ui-markdown-editor@0.98.1-20210728153312","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"6b2b23d15517b10d1720efbf9ac63aeb2c50ad56","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210728153312.tgz","fileCount":6,"integrity":"sha512-A2b1Wk1h9Z48WT9X137uHnKGsYHOntp5LeT6InlunLQnbDNDvrmUVoigO6LyfGQEF15m5PJR5XMJd+nrflHw4Q==","signatures":[{"sig":"MEUCIGFdNzlpWco3Vm4OKD1nlX8Lw9bBbQxCVYtNIgaKryLkAiEA3JCKg5nUZHx7wQqJ57Koalhwvorh5/yYazDZWQKKXfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAXjACRA9TVsSAnZWagAAHxQP/2Mg0dFyIi5VlAQULRv5\na68m2qd08iqUzDvUuNkY5wE0WPmGuGAk6es7U0ZeDWj8536j085H+OEK2EKH\nRnNkZje4t4/lmwBKsvtlWdrT7vX0i6unoUvgabm9Pyi/VjDaKPM1ysXPIhuW\nnUjzCAo679NMcEYaMe/p6UtzX9ljsux8nGDVN8uXSuLQzYxSRdlJPDD+dWwy\nIMlKfqL2om/FfF+Nulvl9KzegeOF7J+yMjOxTsrMXonU0/VyE5FzfZWeIZ4y\n8N7dNc/w0UTAbv0uGnXqDI5k2GWqFX4nf9tJx/iv4ZtkE7jmFdWBzh8NrJMp\ngklVsaz8WGEsr81v+1zRoTOjd5ctWcZYq0yjrEL3mN4j7biprap8ie4dQ7/H\nrR1FMxhd7RYupAGj9yvMaF06/rawFFoH3E08/YWgU/WQDwRntvW27JNr19ri\nvFu7QmyUoXX1/w45UTK2pQfpmBPDUP3BllqN7dV/8iUV3cKzuXmRaWjaljpe\ncpuS7M4s6aqtkxvGYvuVr5CwCbEcpJnhIEk4cqfZh5ZKBKB1bAfCYFBHj2+n\n6gEcuU2gizHjsQkKvnfhkAo5+m3oNBFNs00d3zDXilqJ6lPL2N/+DnQnnor4\nYZfNkAmI+QtlsNP4UDicvra0b9EjDGvEHxRrRMqfGXVO99BCoUqusNQwo0RF\nyEf+\r\n=2k1o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.13","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210728153312_1627486400831_0.6498487606205106","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210928120814":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210928120814","_id":"@accordproject/ui-markdown-editor@0.98.1-20210928120814","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"db7f4b52e001f821bd05413e792dcf7879ceab00","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210928120814.tgz","fileCount":6,"integrity":"sha512-BF6OXwcOV+QmwxGky9sOQBmZpytmqX0BDnGsR2DIrCKg7UMALggTFlNh9J2liioO8FuQXm/2rOhxZlF8iFunsw==","signatures":[{"sig":"MEUCIF7SJ17EXYcmsUQSmfXzZIBlzPLFANPdiiPr7r0hL6q6AiEA6+D8nB2dg/ey9C7YdN8ffENcHIgC98gxh7jGe3c6NGs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.6","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210928120814_1632830900082_0.9889460135463328","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20210928123444":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20210928123444","_id":"@accordproject/ui-markdown-editor@0.98.1-20210928123444","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"6720903dfe50cae67e753ceae5337ae4de91dd86","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20210928123444.tgz","fileCount":6,"integrity":"sha512-4kz3sIQ9jRcUoksi49INXxzxBpHmOG8363yk4wdEWrUDQaTNhsOyjQRmDfCqHkIrLVzEC4Rb48yh8L2SaYUOvQ==","signatures":[{"sig":"MEUCIQCC3PsimA3vjSDNSUr3wE/0/ltkyFc7kefiSQj3rnURxQIgGjHrPGI/ojeST+mkSQ72VB2bewwoMezQKPacLjbjKsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.17.6","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20210928123444_1632832489801_0.5308619881056169","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20211021190138":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20211021190138","_id":"@accordproject/ui-markdown-editor@0.98.1-20211021190138","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"ce0612ab91f97100adee3e9d102d8e7e2f773546","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20211021190138.tgz","fileCount":6,"integrity":"sha512-RCw7p/YgenmGAZPLpdO/a0+zrky6Gm+Gjsr2yJ4vNhWfr2PCJAaUgzsqNcUzOhTF/EWPUhnm3PzR3T2s0Ay+XA==","signatures":[{"sig":"MEYCIQD4IMqa72q4fbC67FAUTEelxjUHL5Ha6vBAji1oyQMiuwIhAImoTw/HY63DSLSDIDOAdSNTBikgqOwexkbGmuFtqwlw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":428725},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20211021190138_1634842904352_0.7978599079085109","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20211206140017":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20211206140017","_id":"@accordproject/ui-markdown-editor@0.98.1-20211206140017","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"903e828451537115933c813731ed5c41056d9e90","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20211206140017.tgz","fileCount":6,"integrity":"sha512-iIhMlkl5b+H7xsHNo+Yznr88Iw8V3/ymxYRAv7vgrn8msDoS7Hwugwtc4nX2XY7VQwsw5j68Wea8IcK4l8hV8Q==","signatures":[{"sig":"MEUCIQDT54JEyVdQrZMCr03m6cjUlRXy3+4mDnPaDf1E3lBnVgIgE3P5T6ZzKBl4pGIlX2n6Q2MthdGKKZk3+h+3TcRnB6g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhrhd5CRA9TVsSAnZWagAAOsMP/A6beDJoVe1VB+wEjN6H\nKFFufg3dGvYOAuX7r8CZqQYOsvo+ygnckZTddCO+08lJFElsQrKzkvbdWqi4\nlRxVjSOmtGhqF1rKZXzj/gkjATunyreJiu41DYwl/AW/rRI2jvpFpyzwOkT4\nZuNJQhquyzxBqZd+BNdCCcgyntS3wEN0esF7rpPkAnZEo62ZOyAF2f/ORIo8\nsDEDjI5NaHNfhZL0InJfu3rWde4cI0+Z+pqbWzS+8bP/ClMTE+ULhhY+eTWH\nov0To6N+O2iAcNN6FwqlnGlmr7DfJ2MUVvNWocxmdgTyPJAsuHBDZLrScqkI\n5eeTIDeb6bjcsIS+GZNxkSwaPfRcq+frQmto49D7X4lhJ52LAiFJikA35rFS\n9/k87cP109utmfB2kycffYUd1kytOKFEDmGdJpYFsDUWGt3BrBRwlzInLARy\ncr0DVr+koTMKfYUnkS4knfqjwsCDEGPSyvJketGM6GGEYhp6wO0P3Mgk9eju\n2V25V1MDgHXnTgxSH4YiufDm6iNAKJv/d8KNpowskYskVWa3AtkSYZhu5E8+\nLwht2bS94zjopW39A7bxMCRP+1gtPgg+V1HWW1PBJ1nw3gB3B32y2OMT81nx\nop7enj0gFLiAUtWKl8sr14320fo8XT8ot3BMOt1E1jSGOCMSiaXQos0+oNjp\nK5Ac\r\n=DqTu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20211206140017_1638799225643_0.20881285646875503","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20220112114515":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20220112114515","_id":"@accordproject/ui-markdown-editor@0.98.1-20220112114515","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"7cd559712afe66535b84c0d27d5c8129437e7689","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20220112114515.tgz","fileCount":6,"integrity":"sha512-ZZFz8O293nueyKZFWXTLDexsoWoxHb2FiREz7xgnYyoc53ZjcBeKZpk0aV7VSiII2Vneijs0nGxwG7u+wocfgg==","signatures":[{"sig":"MEUCIQCFej1KTSDAgDrDt23qn9/ifVHoa8mTLm9/ekfN3T0H1wIgYUPNav4nG7Lr0zAOXCX0a5QDg3wvsxitJV92K90+jIw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh3r9TCRA9TVsSAnZWagAA8vIP/3TTANDrD9ZPs3z6u5wc\ns6q7QZ9uuZO9SzBubpas+2bVyInhCgxT9Y7Wfwgp1dBHDV3b67i0uPj846S7\nDjlLt0XlDJsKsj2YLG2vHJqrraDvMyJNF6xJfOtrTBYlHX+ft2u4gYSfu2+x\nnFplhhs318LgTPu6gIDdMnAL1AnWwhLT2LNy0Sz50sMtI8jkAoU8At9hOZ2b\nFfczvJQihPK8X7Xgf2Y5MpYu/Q5SVtPymsB/aDQwbUW3L76Q3E7DW5G37J2I\nJfNWantchHNG593x+mbYc7YCVowoYeK+Ac/emA/u54URovG2wh4RWddmJbwV\n5svrcxvm2HOBp08nCnSEIUwCXKwzibX5oDemTC1XPLRLbJEMrfWlk78c1qpb\nfdEqm2tvDHxiwsaSd+Zf+ZZrrDQf2n5TYhwddq+z1H7tRglNNAzBJCwV+1xt\nWvQuCmRBvMWYmZlmI/JswXFNYt/q0ccVAiElNhTb3E9RKPxrZEZKoPj/WcDx\npBYJ+LGguHc82UzYAmNdbaH9aRh1mD1arsaKzA/q7oKHpN/CTs5vv/q4htwp\nmTStPjjNsVFG+JGYWxazj5LQ7Qe8K7V+GQo4nDEptD49O/O/r0if36aVftRo\nhn6xglx7VkGe1i5JyNfaTFZkkBTArW8BuvJBBKghMOMnmn8OjKiPJ1XLbEUG\nT3X1\r\n=9itp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.2","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20220112114515_1641987923392_0.12186613341826069","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20220128172134":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20220128172134","_id":"@accordproject/ui-markdown-editor@0.98.1-20220128172134","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"ad2f01cc0d459509b362b22f1e89113765329def","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20220128172134.tgz","fileCount":6,"integrity":"sha512-IsCCmBMQ66Jt4WMNzz8b8Pf0MP/Vzy8STWdJhGHVuULG+BuMtlk/69ok8aAV+eR2/jrHjKYzEmRniHKRK1uOQQ==","signatures":[{"sig":"MEQCIGUu4cVsZFgxz6IJzPYRZQ6nCnirbuRF/whQpNZBUuCoAiB1X2vZvPgjaWyTrp0bENCHhrFGJuQdgeXZFBmNMGEP1w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9CYoCRA9TVsSAnZWagAA9I8QAKHfKu/m/0zZUDlhPh6s\nSwuYlzJaR+j8d+U6jYxOLmIX/+o0dtlrWkTMTKBR2fSIbi1ZfkoQPi2vedKV\nRM2iTiVFh0o8EE+6TXdHt/YuKG+YfSRrs6lLWMpo03DuN8X4/zZx67QBySiV\nawc1mZFxwPX7+HJmbu/sUtKD5Kad98WZL7P7AV6JNYzLzOdv7GjrXXzw+hO6\ncItcITx7bh25322A0WPIb1eAplBu7G0i68QmF30sE/AtpSCJJLja/HTfOAh7\n71x1Y5C7B1dloF9sty+z5N+FW3D9+NhzoJ6MsK9k8XuHs0xyYFX4c2BIWnLl\nwSHWMJS9PO1GwNJ/lu1mjNxpu1YazfKXNwebfc6hYrz8E2v7976sF9EIdQdv\n/+o1eMKAaFtC17gyJmEOOoZV5up1vvjGBeZuPWCFinL2kie2K6tOuToou3ND\n8iXjJKZ1pGrCogRaXlyf5ESi7QfG5imSX+rDrC/0krVNNtMo5TpHAeYjAbo7\nDx1fG2lygiDnYsyCQr6G6P9j/lSXnz5p/wQ0U0UVkfZlzkarnNcZeyBA5Tu2\n6qNvAvZ8M67EWzXhJ50FeAI7QGtUYkbeYiaObbLcaNtSGguJr1+mqToa6fHZ\nQT7AtKyiRthRo1KPQIu1i/AnOapR9X417vT/5xyyclFm0To0jKnm62UTtoXj\nDHxu\r\n=Tr7U\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20220128172134_1643390504244_0.48722431505268093","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20220129155349":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20220129155349","_id":"@accordproject/ui-markdown-editor@0.98.1-20220129155349","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"df07455527fc1d510a21c08559f1bfc32902c148","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20220129155349.tgz","fileCount":6,"integrity":"sha512-fuqalXHw4RwC7XG5KT4NH0PG86lmHS3BsG/M4zqMwAzK5tqIA1Rl9pWgezKcLUt7oQv/Ukn61V9LcOcuJMbv0Q==","signatures":[{"sig":"MEQCICbUa/OJqf3biNwxls2jkN0PUSlt49LeNG9/FAE/5mbLAiA4bqrWo4rxyP7R/PwA7sUHSkVxQ/D5N9K5pe/u7TFr1A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh9WMWCRA9TVsSAnZWagAAYJ8QAJXF21OIsiqByziLRzy6\nhBlaWkFnB6ufSy+zC/7twCDbkX24zH8qz1E3x5Be9hHN5I9Tpl13jYw3FU4l\na7ODUC81Mb26GwwGFUHq7Gt0R2Nge/KkyZjKwkxyxrl/IBjstxid5xMHD/9s\nq6Cl69CYGNDoRCmd59ot2rpeIy8f4SRaYvy8IeNN+H08vWWAqwB1vAVc0bJL\n5J2HtHg8IlLYX+YBn6vDP9F5wkxL0VH70tmjN68cSyzNealk9Vz+rchNZ1HU\nnjV35FlJT+Xbc8AEqpPpyvRQuHvRTjXR9orR09IVE8DBu06qhVqUMIDr1c8G\n1V5LNsIlsAsy76f+DQ3CkeqGQ3T4Jlx5GXloucNt1gU9IXGUsNwn0jl5nsM0\nnlleaqoaitIL/WLN0IVnpwa/ogrZ1Li6uDdQZmitBi5oTujwZXvAjjiTo9UH\nYcp5Y/xtXpMfHOSxmEZVLq/V/uVpTN43uhYeSAqE0UJxpDbX9dTLD8Bvx9fN\nXveg9pCPLRzkcbR3czaRVRnEs/Fw2ziySEznjh7S1GFDb361q+CG5xhyURVf\n2NCuY0LrMRXOmh3NMB0x53C7KElcCVjbWzreghTp99WhG9+CBTQ8GQukjy9H\nJ8lEVTBKK2kvyuHYdlv2Fttbi/fy5tk21pzL5O+eBi/fHrKAUnzZqOSAzuwy\nJRk5\r\n=8y4G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20220129155349_1643471638414_0.5706286923211916","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20220203092900":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20220203092900","_id":"@accordproject/ui-markdown-editor@0.98.1-20220203092900","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"fb3a1ec0d02ddedeb7927e80c9397d85dee537be","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20220203092900.tgz","fileCount":6,"integrity":"sha512-ecJ84GEa9RpjpOiNvrGd539OoZNboN38quOXv26v8dbxvhrBcpYrhyd58mExjfNROdV7U7be1DGRiyXLOCuMzQ==","signatures":[{"sig":"MEYCIQDunIhxj3gdD1yE7j4Q6F8fW8OwcY2NJZfjIG5PRr13uQIhAK2xh1dyA0w2zsZ5OHzcArXmpoTyX9MpX9PjDFq5Z7NS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":433260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh+6BkCRA9TVsSAnZWagAAlmkP/iDNqzwscQoCK9vtqLzC\n6R7xdwU+vjWSaRN4Y/hWvvmH9vsSiaDI43H/yRu7V1XyINGgErbiWfgtzKzc\naYHad8I/jJ/CzEClkz5uhnsyyjZR+aypDTYAr9Wn1K4tTQVQ/v6PQnvXDOPi\nHH0/0qOoeXnfdy7Rnn/kY+hiCKnQxRO8cmQ4qrZtAHI6Wio3Tn55BiKXKTgu\nbvSbyZIULsZjvN47gtKp1XBXH7PCsakCljYER8ZBxtmfOb7KgKWnoWcFcMAE\nUVAFxuGYp3vBfh4hbIMLFVYZAJcizrhaEIWXPcN7zJjvlOUmZEiLdSoZ7fiE\nGLIUTa5Z0e9NfbdcREi5uvyHYPb4Zod5Xyq2FKPuWFmdMegL9tu4pQAWZxTi\nCbBoAIBg8kdHDOpYNlfHwaHUZrVlePJ9nPHr7jQJExGFeI5hFaMRlFTYLshq\n0YSxMiBoEx+zSf5QtrMVx6yHM8fWjI16+c40IX6qNaWaDA8zfZtC46BVJtq9\ntGUFHbXTxEDRyjq32ObNsU5fiOdmr5ycpW6TBvmiHGFIF9b70GBLeRq1ew44\n6FG++rY4AUahLN8daXtfr7JXd1qmRy4WqFqxIY0FmvoPST3O6g6fdYrl3He1\n1GztZF90eeNbhSa7eYuHVUwaeI+L4VW7EIuqdpTo2Gp4323sjuuFTmTvfiM5\n+cO3\r\n=hKw8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.15","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.18.3","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20220203092900_1643880548066_0.09389335510114227","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20220309172131":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20220309172131","_id":"@accordproject/ui-markdown-editor@0.98.1-20220309172131","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"f4fa94da0149bd47aecffce6affed8ea81917116","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20220309172131.tgz","fileCount":6,"integrity":"sha512-6P2/teeDSfOqHUPGX3XscjUk5LWW5gfOQWyIKxvffiFZbG5bk3c0/UIuUjcTH1Z1ktpkF4byV+fxTmehyw9SCw==","signatures":[{"sig":"MEYCIQClFhVDc9X9P4vNgU929LhXrRnPRVsbqz/ckmUYf+B2ggIhANPwOpSPtVrRjwr5cEEYnsF9svpQJLQCnpPb7rXHfRTC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":533499,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKOIhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrA6w//XJZVFGLT6L5NM9309Q5q7WIqH+PN8JlzM+qpcF9sj9jjZRTl\r\nZuv9Zsbb17BHKjzX/dTkgfgfjHUmRTu0zWBy47SQy6xbFDxjpHZpfkIgeFtX\r\nnMpuN5TIrjrbiDXIrZkl9nshyeE/al7sqvnCzswYvWziSiVSvaMpcew/pX5J\r\nZYJMqwGwIidlWqE3oAPgx9SwWp5dzNUl2xcnHaFfo+ZSvshwaTj8QAVt4j2s\r\nFMWl/mnwo/ERuloKKX156qUO2zYbFkUT+fi+Ie4vZ4SCIKqHdznNS16orABU\r\nCpCLqVkK7M3LLC56xaeghvgMNKptYTB213TMR7qgQtxxQhphXgmV0qOjFTzL\r\nJc33zdR/6O7FeJow50uiOVrLhCuxj6kzOCLuOuC+YM9TCZcxC04RMVsHorwd\r\nBzthDQC1EWaBxayMiARBMn2qE+tCsn7HApv4+JbmGjUZX8oxNVbD9X+y9f/8\r\nobkQGonuVlkn4BXfAqxPyRVS/t3wQESx30JsWluAXGZFXEZpgOIHnbT5+Z59\r\nkBuWL/L8Sxn0T9fDkUTi5zE/bNIhx15X6hEc/Tyu8TVIiyhdHAfUkVeTSzW4\r\n4CulPLVt7WvnX6RUuG7gjNsp5ab7ecFN0C0xN1ffwqNuK+kcYw2CjJCCApkm\r\nqMRejggvh31ebnFB9sJ/qvr0KIIjvLwerP4=\r\n=y9hx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.16","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.19.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20220309172131_1646846496888_0.5180021223503528","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221108115453":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221108115453","_id":"@accordproject/ui-markdown-editor@0.98.1-20221108115453","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"2260c58dda9a8413506fc34f04b286509a21dd09","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221108115453.tgz","fileCount":6,"integrity":"sha512-1GXld9Qcd8e6ZHMfEGGcKt84Mp4/u6lICcSdjX81azJMkqlBt9emkME8jJ5TX4vRMYmMOIzhEbF4yTDNHqvI3g==","signatures":[{"sig":"MEUCIQCEyEdOKUkYfti8HogP37uoK0033mkxT0J9GL1YuvnWJwIgOgFx9viVyqHSNCD80EHRHnn9fm5k22sBohlkw8IKz20=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":502642,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjakOVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUZRAAhQUbrfy+1djR13W5nuXmcqzUnOzpM+dsmeumUHt/d5HoSi1F\r\nP5AvuglVhYElP3okFQYNo1t64FKSD96Pzwf4xEAWbDUDYwo+SfWvz7tNookc\r\na3V/JG4xhcMxIdkuL08LMAixhRMfbw2OJO/jJDS7sea1ZS0j4dzfK5CXGTEl\r\nKjFpJ8DeHFalLy0vgMaRveU2it/IyFVGKGx+JzfNEv50vbbqaQhjC7hiqF08\r\n8o1v5b3xRMmZAa3ok6hTdpxU19I+5bvEVyp6hZO6S4oncIyzNqlZ7YxloicB\r\nIgq/QBvzvA10LRT5Mo9cVHCl50gEYXiihT+DD/X2sON8CBgS/YkEHa/AGgo1\r\nXSwphd3JAmV/sY5wOnRONAO2MqnhUHJTnnLJsRmLZc74yTCF+kvfyRhzkNwT\r\nvgtGkb1Ji+nh8tdIGu/Me4l9CPF4z7oUcfYLnTn8/I2A3Jrz5BMMTVphEiXh\r\ng0oNXnnUS+PeMHL1w/rvzAaeVFhbkoZOwUfhGIzXBA6Q7m73CxBb3lnBqX/I\r\nKA3cwRUCPnBFJXDzzYqTlQW/9HokpqsBxuzgeoXdsyymjs7Jb+5XWn4WeE8A\r\nLKqnrd5PU/qN4N94UdwCUDoXGoaY9R3GeSOJnuP17DdmAHmMrExQmQWHumkP\r\nGe2+OIfSrKDk35sUFDq0rwu2NDruvwCvLME=\r\n=/n3Z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.17","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.20.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"^0.15.2","@accordproject/markdown-html":"0.13.0","@accordproject/markdown-slate":"0.13.0","@accordproject/markdown-cicero":"0.13.0","@accordproject/markdown-transform":"^0.15.2"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.63.0","react-dom":">=16.13.1","slate-react":">=0.65.0","slate-history":">=0.62.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221108115453_1667908501460_0.779601040537603","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115123407":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115123407","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115123407","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"3a58c64e6a0a3e58c1ffae7498ad0ab59f2e53ba","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115123407.tgz","fileCount":6,"integrity":"sha512-fXqNm75fiw7HXHCeqIoGJIwv1Y+9X7klx9dTsp0/9L18Zfstbfv8ITdHkrnjouLy0wgQpOHdWK7IG8UcarjUAA==","signatures":[{"sig":"MEUCIBLGc8z3HGb//wHIqkj/D5I70zTPIYy8T1sk0L8tsOo8AiEAnMSaaer21As5XxYKQTEeM/t3xeLkag645q9860Rzyno=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc4dGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/ug//Zmvcpo8gNUDNv4/voPy/ZZi9oKot5wXe/6gBrn9gOh7gkl96\r\n4/aioOeIyGoOcvSH5JX38xfLbDiWskt3xFnvS+Ncuh4Gq3f4ICPy+POstED4\r\ne/9FoTwwZLQE5WNyV1ZK3Eco/iKBcyzMBGO1D2HXFP3i9Ai92ExHVXMy8qWp\r\nPDXd2UDTanOo+4VAuaeypMed1S/FLueAyuahatoh+ZONGiHC7pgd2zK3nHNB\r\n7dMrusofjl9wtUNKHTu6374Cu+g1IGXaY3HOJGGTKSwdO73QS4DUT2eiBgL7\r\nN9CW7oVXU7BH3YNaaGNGzwcSZmG5+wh2ehBhv8IJsQaMmmBd7WM62u61qbGU\r\n/tLLGzESNM6C9fHyuI1t9ad4XVSVlSrmr1D7s18TN/9K2JdUxqk1MXcoUyS1\r\n4sDgBWr1om6gaiFvwqwO3TqSpFpLCnpeHifje/5YkYB1yIjovI/uQkqRtCUO\r\nMQnC0+jqOjOn45jMyTkv1jZwXIl6/QLkmzTwAKQNjcdBwxOjarJViZDknTfj\r\nUk7sLA7pyg+60CIn/RD/8cHlMyB8vEyKOZOGnGbVU/OUJmULkhAo1qjVLAYX\r\nW0JrrAi1DTzGRnjdzVg5EIYfGaORRRXOxLNJ4wZQcQvSXX6uKGWXM4l11MfE\r\nnqPSmHrj7hjmbQc8EpJnzFjFjO26TbjyRm0=\r\n=jBfr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.17","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.20.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115123407_1668515654554_0.8107771969994231","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115123910":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115123910","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115123910","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"9d8e92b491d29545ea7eefe4382bb2f0ea988f00","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115123910.tgz","fileCount":6,"integrity":"sha512-EBw//eJ9tryPmbqFsUOoh7Uo4TpiiUvP02YxsV2g6M29q+71f+OJAboSWswRT0heKfb4k0Ap+SJFEpLixCQajA==","signatures":[{"sig":"MEYCIQDk5UYoUfHLVv/RRm0VvvdWzx55cGMJjDUoFTxEk5h8zwIhAJbF+KxErYSHc4EgYpk04iwmmgdRHE7eYUD+HBTfeZ5y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":506319,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc4h2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYnw/+LVlo1/rUDgxY6+CRrQcPYw3q5mae//A50PqRKplzd8nQQlVF\r\n75ZiLA6B0mCUEH5pcV4AbgQQ1zpSwrAZqSpuvlZ/EZXkdAbExgoeh5b5JmHo\r\nXvhOZU/0h1QOfjqNuewcmXiwzYqu9ZhG5GjjzqpxrhoEbnRSRldijv4IEMnU\r\nvIUGV3bR2nUPJNl7ObCa4A4/pHEuA0HFTKl3axIAWgt1cmBMIZt75+Xeij+E\r\nP0lw3eHh5FiPNYIASlaJ/GIaGG0Qa0ufmwvsWRldzWjDUNxwSCsrtphRwkTs\r\nayf6cSpcax2daFYua0xX0c1/kOvrTv+IzfhcOUoN1sbaeDW5rZF73V02vslA\r\nkn2Pm/b3diLWzJCCNLAeUENwEbjyzVvKqJXCf8Qeowk19dfh8TmChJj8uLC0\r\ntjELztfp+ejf40VayfbRvUwufYAm1TWQf+8MNMFEjoMc7/25wyutR/AKeS59\r\n731mfHzNaGQcdWz60Q6x1kMnLZZlcghNVDUqMomXk5GUZSrog61uBiMr3fvE\r\nuBQOMKuxcu4ctW7g+AT8QIj1WgrDX8wWvdqawtg5IdRbGTj/tuuvDZ4ph31F\r\net2wl3OwhkOzoRjzcEiTtXHEiM/0+8JUhBYUJ1zYppn6W9azlLMgdQ2GmjyO\r\nZN6FJkKAXIMo5+3pU/cu0pvdQqrCMDfKXhE=\r\n=F8KH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.17","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.20.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115123910_1668515958541_0.6778265744036007","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115124152":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115124152","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115124152","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"64610463fca7fa033e07623221c8e2f724413476","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115124152.tgz","fileCount":6,"integrity":"sha512-WSBPTJGZF9lV/Bz4N2DnlokOoqhQ2YZ2pY2CPReEtm8LQtNLM2S+fyZ8941Wno46JGGjOPFlgQ1HhNDFYQyHzQ==","signatures":[{"sig":"MEUCIBB3CKZ2Tqz0Oxod5qUsNIlIWIYJpCdneCY/Esb7YiXjAiEA6ErhlUBABJW/fVfVAFUb0rCcdhwC97mpynDqtENddNw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc4kXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpi4hAAmTqZ0IRQk5mTvJmgUIXhQdaEvEgM/2OK9XHJACitks9HUlbB\r\n2s7eb77Rma92CQJ++k0d0ijEzYNYM9lP7Ej3XmSqwYOdcE341qVfcBRmbU4n\r\nezuSFUpxI5eWVfPC8CyKQjba4WElWljOAx/XYTeSt0fMAXsn7Ni5OaTZc1Zc\r\nCrFkKSM3jCSQ6EMzyuNbGpQrmeD8jJhjVBsUOxdiYigZKn5rxqv0GOv3j4Rh\r\n5nUulhBh4mBQqa64peDvHp0IlszrqnXFBa6HYq6oRytO1pYoxOO/fC2h3H3M\r\n/siqhWqpf4ndpjwn3XxkeiTL0cHp9TGqDk/uxHEVJHs3DOs7jctxNPPOsSmB\r\nTgO1AKlJyh2UwNV+TKB5Tr4/JR6iaAsLH63ARp4cViTv5SFoaBh0+DlTs8Eu\r\nbW0hyiKxhUpA5+EcOsFevZw49U64WWp86b3cO4r2C8fECXpxED0fJc4QR42d\r\nUn1nSBsaa6y6UK7l1+/QqT2T2h9r3sZM2VYelE7iKeTB90kw2lWc0za+EYmx\r\nyD8s5uLGDRzNbkgtra0id4b0MgG2GsRoCAq8Y1HhrQjW6eioKS7aHFi/jmUz\r\nv9h3KuQg/3y24Ea/tx3XcsZdfZ/S1IYdvZkeJBf0V+Y8FV9esoduB8/aG3gp\r\nYjhjIemecpdcFy/VgsK/7urevZe9HlmzuBM=\r\n=wdqH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"6.14.17","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"14.20.1","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115124152_1668516119545_0.7927215371641501","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115135434":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115135434","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115135434","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"b98b91f9ea141d20dd5e3caeee9a776d5063fcaf","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115135434.tgz","fileCount":6,"integrity":"sha512-G5iTIHRrMirPNAXFYkWn12trLvV9tj80+8gqkWusAGAbSybGJUxEzD96o2Bmyg/QoSWqo4LmXrGvozwl8FtwiQ==","signatures":[{"sig":"MEYCIQCUF/Khml0W6XkBioYD7jatKLXQ2M3bIHKBjAdr5f289AIhAJI+DOfPszTC0u1KEbxxdtrgmajFXF1UdffUGUD1OFUD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc5oiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpbKw/+LRJtrBZkDyT3+518k7xxl8L7Da2xlMumwLvKrL4hPch4qQeT\r\nNS4dM5AGgwmJsUi12MVKkSbVhhXay4lwhy6AvBiVHnQE/pQKJnqkHKyM+KVI\r\nULSTDagdgzFlx4m7M342pRFvyNk9yh17AL7EtK4nToFzCT7dFD5KdVw1KatF\r\neU2Jb1jnYEuLcVoECWui7Q7Hec90tTd/MoGgmgoBPCT5ryiqKa8jl40EboN0\r\nHy+X1eV9dzlpSVr58dGTlN1JBl3NC55/FMXD28wrl0rgYfeR7lmvHwC2+4pT\r\namXrE5/54lDngVQI2gqutnrKVGKmtXEKQ9IPRdBoHewuonNIAg51uaKPov2o\r\nGsf21kg+htggXw55+QgVJE2pDgBuEKoiSJXhcFCQ4vD1HodptoHl7rpFi6+G\r\nsYeDBWOKfkDUAbHPhrlxNAEEtKzQP6u842Ow4jr+HVDSv6FKFHJVnok/CQyU\r\n1iW4HDiBn6MuH0av1jsj24XzvtYnsJ5wme7Qk6Bh/M6VdbRAbLJthhqRK17n\r\nPXEY9Gpxy8xVJcLbrqDlc6jkS1ELX7K89CliqygIeCqQqcyKkPUJ1vBAcMUP\r\neMDB21zRmssPILtEYACRtcTO1pNYEkhiaIlO8i0Vyu7Z6Ezkj6xy7IkbKuTu\r\nCcCr0g4dIY+n3dfDW71pcW5kzyV53cX1D3c=\r\n=Gl9P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"gitHead":"92c32836e887d1e932f6447c2d55339e1c1453a7","private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"8.19.2","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"18.12.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115135434_1668520482197_0.3346791618511944","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115140036":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115140036","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115140036","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"5fb939b230103ec0dea642c040cccc09d10028f5","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115140036.tgz","fileCount":6,"integrity":"sha512-nERIHJVcUJLkY2jUWnsQRWI0KOcuIpjHJRgpN4CU9WZF9NSqr8fFoZFxzeCHwoWp4cdxUuC+ml0CZsK9zhB63g==","signatures":[{"sig":"MEUCIFGyas56aP0U3ig9/XxYe1BeDmbHwNpNle5qYWlOYgYXAiEA4JqJw4l+4eG8bbZGn8BibjoKAe/zMGHXrbt68mg0QEQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc5uNACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr8AA//dnLci+EAcrhw+3di/+wckQyei8j21/frlHlG5nC46cCMuGGa\r\nx7wUV0Rof17E4Qq0oAL8+/XINJArT+myegk2lYzf7P1Y5UwJPrVzSLl2fsTj\r\n/wYNmiuMmRMtyshb5STeFDubRF2ASONOsJjARN/DmDNZxulweeUCurmCbPbI\r\nujQI7nzvCP/zF14SOUvmgoUYfY3Nxq9khJDSLbTuLu5CUSb79GZ/IHkrT58t\r\nq3RV7c89U3pRBWjucrk0Orom3UsWbQ+bHwaY7aRTOMsis0e96bYWiCAJIwps\r\nPxdCfXgutZprMRYcKjuF5NUVIi/yU6FVpqdCVvGhMEmZG++T8Hd7tROrchcd\r\nQH+T2cJiGafAaHhIOotTQVmvHjxOrcY6zvaUanc7/daBZOXWuhUCb5TnfJYd\r\nitBNVELykGbnqlIJMyJK5FIzyhU1YPsO3I3kCJzUnKI8Oi7a6pLZuMGoP1KU\r\nbuXQIWFLjwr/qyKIRWIvJK3LkrEAMjS7yDJ8iZxtaAFvZFS/VvoFloBdVyCy\r\naj2c7Os9v2Deyo4ERtQj/mpgbax3+LJDu8u7QeOngG/4QCPk7548ZZdk0WgB\r\no64jFVZORfPVMcuHdppWtBid5vCx4OXSJKp3bOxGcxKlFqkdAjSxtdkYyphl\r\nmPm1bUqg0FX1UXcQZl2fGKwUL1zgVDTa/p4=\r\n=vLXm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"gitHead":"9126d3a0127857d8f1bfef9112c8920fa9263008","private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"8.19.2","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"18.12.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115140036_1668520845767_0.11642917930257224","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"},"0.98.1-20221115143348":{"name":"@accordproject/ui-markdown-editor","version":"0.98.1-20221115143348","_id":"@accordproject/ui-markdown-editor@0.98.1-20221115143348","maintainers":[{"name":"mttrbrts","email":"matt@clause.io"},{"name":"petrgazarov","email":"petrgazarov@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"jsimeon","email":"jerome@clause.io"},{"name":"irmerk","email":"jolenelanglinais@gmail.com"},{"name":"dianalease","email":"dianarlease@gmail.com"}],"homepage":"https://github.com/accordproject/web-components#readme","bugs":{"url":"https://github.com/accordproject/web-components/issues"},"dist":{"shasum":"5b97ccc1af261ed7e0e4e465cf143ae74f60b4d2","tarball":"https://registry.npmjs.org/@accordproject/ui-markdown-editor/-/ui-markdown-editor-0.98.1-20221115143348.tgz","fileCount":6,"integrity":"sha512-1m48amGcbLW6mMkzyvYkYD0uV7WV92pqhP5IS9OhF9sXbk1tPeytQL5piZEBkGe0Mi1+hGWDA6wT5jqxdZFkKw==","signatures":[{"sig":"MEYCIQCa25jCEiFfqgjwBTcYRuKHlu8M6kAc/DzI8Uy25GSSxwIhAPqk3H3ugOAKHFqwnOfIDu2kmEVPa/Uy327tGHE1mXZA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":514818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjc6NVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo1IA/+JxSDifQlZf9eAi08RFaI8o9xbUnG8gY8gCumZs0tTRK0aWnp\r\nhvqiA4xtLWQM6wjO3xySvnOdNBzU74jhFHxWuBd3iq/poXL1JLO5w9Ae4e93\r\nBdwhCkv6zHCSXquSqHeFRbwCFeVQ9hkZ2tAvopI7lddJ1Qt57+VXH18CWBjC\r\n672H3FCGup9/yyvWaFDDLZUhzlR8/Se7uU9cdXycnyjW6TjFIdY9a9KwL3VU\r\nGmQ7CNVlTmwqs2lX+d2r0NzkGFdgqJ8G4cbWzFDUm7UX3k5gpEDSlZPKFPpG\r\nJV/RS3rK8gEAGa0RyP/Sgg7LLLVUshDMEMqSmlRHo6O9P0OqSDX2Kc1rFDv8\r\nh5WBoKs6DH2J6kkYEPqDO7LAdmbmTcaHM64F9pvYP0R/FCQFgzYbFhewdfQG\r\nCfLKWAojX8Gz9rS0E9D+EhQJ9YGcsFT43WQcuIOBq1zjNY6Udmbd2YqexuZF\r\nJ40BL7MYdS1gtHZ0o9Sy0+Ru++bfRr8HkeIJoImVgvIVTv715r2walwFv4ey\r\nz0Q9r6rzjfBQxK01+uEdB7tpsc+MrXhYcesOzYLCHwNt+Lj1+dwvxkc17E5w\r\nGlZo2uGTgGGKo02RLdC0wHPRygefTHucoX+JJmG2Kk52tec05L2RfMSjeApH\r\nVmn6RFxyBJnLjyprvlUkiG8qeukFWuZLvks=\r\n=4r52\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.cjs.js","husky":{"hooks":{"pre-push":"CI=true yarn test --passWithNoTests","pre-commit":"lint-staged"}},"module":"lib/index.esm.js","readme":"# Accord Project Web Components Markdown Editor\n\n[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor)\n[![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-slack-signup.herokuapp.com/)\n\nThis repository contains a WYSIWYG editor for markdown that conforms to the [CommonMark](https://spec.commonmark.org) specification.\n\nThe editor is based on React, [Slate](https://www.slatejs.org), and the Accord Project [`markdown-transform` project](https://github.com/accordproject/markdown-transform).\n\n### Installation\n\n```sh\nnpm install @accordproject/ui-markdown-editor @accordproject/markdown-slate slate slate-history slate-react semantic-ui-react semantic-ui-css\n```\n\n### Implementation\n\n```js\nimport React, { useState, useCallback } from 'react';\nimport ReactDOM from 'react-dom';\nimport { SlateTransformer } from '@accordproject/markdown-slate';\nimport { MarkdownEditor } from '@accordproject/ui-markdown-editor';\nimport 'semantic-ui-css/semantic.min.css';\n\nconst slateTransformer = new SlateTransformer();\nconst defaultMarkdown = `This is text. You can edit it.`;\n\nconst App = () => {\n  const [slateValue, setSlateValue] = useState(() => {\n    const slate = slateTransformer.fromMarkdown(defaultMarkdown);\n    return slate.document.children;\n  });\n\n  const onSlateValueChange = useCallback((slateChildren) => {\n    localStorage.setItem('slate-editor-value', JSON.stringify(slateChildren));\n    const slateValue = { document: { children: slateChildren } };\n    setSlateValue(slateValue.document.children);\n  }, []);\n\n  return (<MarkdownEditor readOnly={false} value={slateValue} onChange={onSlateValueChange} />);\n}\n\nReactDOM.render(<App />, document.getElementById('root'));\n```\n\n### Develop inside Storybook\n\nWhile Storybook is running, if you make a change in a package that you want to see reflected in the demo, in a new terminal:\n\n```sh\ncd packages/ui-markdown-editor\nnpm run build\n```\n\nStorybook will reload with the applied changes.\n\n## Props\n\n### Required Properties\n\n#### Values\n\n- `value`: An `array` which is the initial contents of the editor (markdown text)\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n\n### Optional Properties\n\n#### Values\n\n- `readOnly`: A `boolean` to lock all text and remove the formatting toolbar\n- `placeholder`: Placeholder `string` for text when the editor is blank\n- `activeButton`: Optional `object` to change formatting button active state color\n  - `{ background: '#FFF', symbol: '#000' }`\n\n#### Functionality\n\n- `onChange`: A callback `function` called when contents of the editor change, receives the markdown text\n- `augmentEditor`: A higher order function to augment the methods on the Slate editor\n- `customElements`: A `function` for extending elements rendered by editor\n- `isEditable`: A `function` for determining if the current edit should be allowed\n- `canBeFormatted`: A `function` that determines if current formatting change should be allowed\n- `canCopy`: A `function` that determines if current selection copy should be allowed\n- `canKeyDown`: A `function` that determines if current key event should be allowed\n- `onDragStart`: A `function` to call when onDragStart event fires which will receive editor and event\n- `onDrop`: A `function` to call when onDrop event fires which will receive editor and event\n- `onDragOver`: A `function` to call when onDragOver event fires which will receive editor and event\n\n---\n\n<p align=\"center\">\n  <a href=\"https://www.accordproject.org/\">\n    <img src=\"../../assets/APLogo.png\" alt=\"Accord Project Logo\" width=\"400\" />\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"./LICENSE\">\n    <img src=\"https://img.shields.io/github/license/accordproject/cicero?color=bright-green\" alt=\"GitHub license\">\n  </a>\n  <a href=\"https://accord-project-slack-signup.herokuapp.com/\">\n    <img src=\"https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue\" alt=\"Join the Accord Project Slack\"/>\n  </a>\n</p>\n\nAccord Project is an open source, non-profit, initiative working to transform contract management and contract automation by digitizing contracts. Accord Project operates under the umbrella of the [Linux Foundation][linuxfound]. The technical charter for the Accord Project can be found [here][charter].\n\n## Learn More About Accord Project\n\n### [Overview][apmain]\n\n### [Documentation][apdoc]\n\n## Contributing\n\nThe Accord Project technology is being developed as open source. All the software packages are being actively maintained on GitHub and we encourage organizations and individuals to contribute requirements, documentation, issues, new templates, and code.\n\nFind out what’s coming on our [blog][apblog].\n\nJoin the Accord Project Technology Working Group [Slack channel][apslack] to get involved!\n\nFor code contributions, read our [CONTRIBUTING guide][contributing] and information for [DEVELOPERS][developers].\n\n### README Badge\n\nUsing Accord Project? Add a README badge to let everyone know: [![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n\n```\n[![accord project](https://img.shields.io/badge/powered%20by-accord%20project-19C6C8.svg)](https://www.accordproject.org/)\n```\n\n## License <a name=\"license\"></a>\n\nAccord Project source code files are made available under the [Apache License, Version 2.0][apache].\nAccord Project documentation files are made available under the [Creative Commons Attribution 4.0 International License][creativecommons] (CC-BY-4.0).\n\nCopyright 2018-2019 Clause, Inc. All trademarks are the property of their respective owners. See [LF Projects Trademark Policy](https://lfprojects.org/policies/trademark-policy/).\n\n[linuxfound]: https://www.linuxfoundation.org\n[charter]: https://github.com/accordproject/governance/blob/master/accord-project-technical-charter.md\n[apmain]: https://accordproject.org/ \n[apblog]: https://medium.com/@accordhq\n[apdoc]: https://docs.accordproject.org/\n[apslack]: https://accord-project-slack-signup.herokuapp.com\n\n[contributing]: https://github.com/accordproject/web-components/blob/master/CONTRIBUTING.md\n[developers]: https://github.com/accordproject/web-components/blob/master/DEVELOPERS.md\n\n[apache]: https://github.com/accordproject/web-components/blob/master/LICENSE\n[creativecommons]: http://creativecommons.org/licenses/by/4.0/","engines":{"node":">=10"},"gitHead":"d13b9b9932915a39f2b862d823330e880ea3e7e0","private":false,"scripts":{"test":"SKIP_PREFLIGHT_CHECK=true react-scripts test --env=jest-environment-jsdom-sixteen","build":"npx rollup -c --sourcemap","eject":"react-scripts eject","start":"react-scripts start","fix:js":"npx eslint --fix ./src/","lint:js":"npx eslint ./src/","build:app":"react-scripts build","fix:style":"npx stylelint ./src/ --fix","build:docs":"docz build","build:prod":"npx rollup -c","lint:style":"npx stylelint ./src/","start:docs":"docz dev"},"_npmUser":{"name":"jsimeon","email":"jerome@clause.io"},"repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"_npmVersion":"8.19.2","description":"[![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor) [![join slack](https://img.shields.io/badge/Accord%20Project-Join%20Slack-blue)](https://accord-project-sl","directories":{},"_nodeVersion":"18.12.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"is-hotkey":"^0.1.6","prop-types":"^15.7.2","@babel/runtime":"^7.10.3","image-extensions":"^1.1.0","semantic-ui-react":"^0.88.2","@accordproject/markdown-pdf":"0.16.5","@accordproject/markdown-html":"0.16.5","@accordproject/markdown-slate":"0.16.5","@accordproject/markdown-cicero":"0.16.5","@accordproject/markdown-transform":"0.16.5"},"eslintConfig":{"extends":"react-app"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"docz":"2.3.1","husky":"4.2.5","react":"^16.13.1","rimraf":"3.0.2","rollup":"2.7.3","react-dom":"^16.13.1","stylelint":"13.3.3","@babel/cli":"7.13.10","prop-types":"^15.7.2","@babel/core":"7.13.10","lint-staged":"10.1.7","npm-run-all":"4.1.5","autoprefixer":"9.7.6","react-scripts":"3.4.1","recursive-copy":"2.0.10","stylelint-order":"4.0.0","@babel/preset-env":"7.13.10","postcss-preset-env":"6.7.0","@babel/preset-react":"7.10.1","react-test-renderer":"16.13.1","@rollup/plugin-babel":"5.0.4","rollup-plugin-eslint":"7.0.0","rollup-plugin-terser":"5.3.0","rollup-plugin-postcss":"3.1.1","@testing-library/react":"10.0.3","rollup-plugin-filesize":"7.0.0","@rollup/plugin-commonjs":"12.0.0","rollup-plugin-stylelint":"1.0.0","@testing-library/jest-dom":"5.5.0","stylelint-config-standard":"20.0.0","rollup-plugin-includepaths":"0.2.3","@rollup/plugin-node-resolve":"8.1.0","@testing-library/user-event":"10.1.0","@testing-library/react-hooks":"3.2.1","jest-environment-jsdom-sixteen":"1.0.3","@babel/plugin-transform-runtime":"7.13.10","rollup-plugin-peer-deps-external":"2.2.2"},"peerDependencies":{"react":">=16.13.1","slate":">=0.85.0","react-dom":">=16.13.1","slate-react":">=0.83.2","slate-history":">=0.85.0","semantic-ui-css":"^2.4.1","styled-components":"^5.1.0"},"_npmOperationalInternal":{"tmp":"tmp/ui-markdown-editor_0.98.1-20221115143348_1668522837265_0.3383404489019426","host":"s3://npm-registry-packages"},"deprecated":"Not maintained"}},"time":{"created":"2020-06-04T20:59:12.533Z","modified":"2025-04-25T13:33:26.576Z","0.92.3-20200604205904":"2020-06-04T20:59:12.803Z","0.92.3-20200608133956":"2020-06-08T13:40:01.991Z","0.92.3-20200608153758":"2020-06-08T15:38:14.905Z","0.92.3-20200608155253":"2020-06-08T15:53:01.577Z","0.92.3-20200608164356":"2020-06-08T16:44:02.037Z","0.92.3-20200608165221":"2020-06-08T16:52:30.853Z","0.93.0":"2020-06-08T18:50:19.581Z","0.93.1-20200608185432":"2020-06-08T18:54:38.277Z","0.93.1-20200612234125":"2020-06-12T23:41:31.303Z","0.93.1-20200612235243":"2020-06-12T23:52:49.353Z","0.93.1-20200615193918":"2020-06-15T19:39:24.335Z","0.93.1-20200615194423":"2020-06-15T19:44:28.442Z","0.93.1-20200615194654":"2020-06-15T19:46:59.800Z","0.93.1-20200616165417":"2020-06-16T16:54:25.069Z","0.93.1-20200616171059":"2020-06-16T17:11:05.011Z","0.93.1-20200616200151":"2020-06-16T20:01:56.885Z","0.93.1-20200616201027":"2020-06-16T20:10:34.953Z","0.93.1-20200616220344":"2020-06-16T22:03:50.964Z","0.93.1-20200617132423":"2020-06-17T13:24:32.021Z","0.93.1-20200617143827":"2020-06-17T14:38:33.338Z","0.93.1-20200617145547":"2020-06-17T14:55:53.085Z","0.93.1-20200617195521":"2020-06-17T19:55:27.157Z","0.93.1-20200618140459":"2020-06-18T14:05:05.400Z","0.93.1-20200618151358":"2020-06-18T15:14:07.529Z","0.93.1-20200618155002":"2020-06-18T15:50:14.212Z","0.93.1":"2020-06-18T16:51:21.173Z","0.93.2-20200618165526":"2020-06-18T16:55:33.942Z","0.93.2-20200618204049":"2020-06-18T20:40:56.707Z","0.93.2-20200622185212":"2020-06-22T18:52:18.252Z","0.93.2-20200622185735":"2020-06-22T18:57:43.349Z","0.93.2-20200622192455":"2020-06-22T19:25:01.666Z","0.93.2-20200622200330":"2020-06-22T20:03:36.345Z","0.93.2-20200625004722":"2020-06-25T00:47:30.638Z","0.93.2-20200625005730":"2020-06-25T00:57:37.856Z","0.93.2-20200625014131":"2020-06-25T01:41:38.405Z","0.93.2-20200625150913":"2020-06-25T15:09:21.219Z","0.93.2-20200626142325":"2020-06-26T14:23:32.555Z","0.93.2-20200626143520":"2020-06-26T14:35:27.372Z","0.93.2-20200626153851":"2020-06-26T15:38:57.719Z","0.93.2-20200626160144":"2020-06-26T16:01:50.537Z","0.93.2-20200626175725":"2020-06-26T17:57:31.463Z","0.93.2-20200629191442":"2020-06-29T19:14:51.631Z","0.93.2-20200630153959":"2020-06-30T15:40:07.387Z","0.93.2-20200630165843":"2020-06-30T16:58:49.500Z","0.93.2-20200630171219":"2020-06-30T17:12:27.058Z","0.93.2-20200630210727":"2020-06-30T21:07:33.846Z","0.93.2-20200630211622":"2020-06-30T21:16:30.051Z","0.93.2-20200701225837":"2020-07-01T22:58:43.127Z","0.93.2-20200702133318":"2020-07-02T13:33:26.256Z","0.93.2-20200702153337":"2020-07-02T15:33:42.973Z","0.93.2-20200702153615":"2020-07-02T15:36:20.712Z","0.93.2-20200702180706":"2020-07-02T18:07:13.692Z","0.93.2-20200702202940":"2020-07-02T20:29:46.522Z","0.93.2-20200702203400":"2020-07-02T20:34:07.833Z","0.93.2-20200702204735":"2020-07-02T20:47:44.600Z","0.93.2-20200702212005":"2020-07-02T21:20:12.826Z","0.93.2-20200702214552":"2020-07-02T21:45:58.668Z","0.93.2-20200702220851":"2020-07-02T22:08:58.945Z","0.93.2-20200702221230":"2020-07-02T22:12:36.682Z","0.93.2-20200702221818":"2020-07-02T22:18:26.712Z","0.93.2-20200702223836":"2020-07-02T22:38:42.800Z","0.93.2-20200707131128":"2020-07-07T13:11:34.655Z","0.93.2-20200707143444":"2020-07-07T14:34:50.599Z","0.93.2-20200707221801":"2020-07-07T22:18:09.752Z","0.93.2-20200708185643":"2020-07-08T18:56:49.378Z","0.93.2-20200709222231":"2020-07-09T22:22:37.522Z","0.93.2-20200714171716":"2020-07-14T17:17:31.096Z","0.93.2-20200720182925":"2020-07-20T18:29:31.875Z","0.93.2-20200720185115":"2020-07-20T18:51:22.739Z","0.93.2-20200721171725":"2020-07-21T17:17:33.566Z","0.93.2-20200721204625":"2020-07-21T20:46:32.165Z","0.93.2-20200730142252":"2020-07-30T14:23:00.174Z","0.93.2-20200730172709":"2020-07-30T17:27:16.044Z","0.93.2-20200730175005":"2020-07-30T17:50:11.322Z","0.93.2-20200730175739":"2020-07-30T17:57:45.055Z","0.93.2-20200803180344":"2020-08-03T18:03:50.755Z","0.93.2-20200803185725":"2020-08-03T18:57:31.698Z","0.93.2-20200804140042":"2020-08-04T14:00:49.220Z","0.93.2-20200804141827":"2020-08-04T14:18:33.875Z","0.93.2-20200804150157":"2020-08-04T15:02:03.684Z","0.94.0":"2020-08-04T15:41:48.944Z","0.94.1-20200804154634":"2020-08-04T15:46:40.711Z","0.94.1-20200809174445":"2020-08-09T17:44:53.503Z","0.94.1-20200812002604":"2020-08-12T00:26:11.924Z","0.94.1-20200812144241":"2020-08-12T14:42:49.961Z","0.94.1-20200812215908":"2020-08-12T21:59:17.364Z","0.94.1-20200812220707":"2020-08-12T22:07:14.791Z","0.94.1-20200813133255":"2020-08-13T13:33:02.263Z","0.94.1-20200813135108":"2020-08-13T13:51:16.888Z","0.94.1-20200813140559":"2020-08-13T14:06:06.294Z","0.94.1-20200813213028":"2020-08-13T21:30:35.866Z","0.94.1-20200814131528":"2020-08-14T13:15:42.570Z","0.94.1-20200817202917":"2020-08-17T20:29:25.703Z","0.94.1-20200817203655":"2020-08-17T20:37:02.195Z","0.94.1-20200817204730":"2020-08-17T20:47:36.909Z","0.94.1-20200817210100":"2020-08-17T21:01:08.297Z","0.94.1-20200817212516":"2020-08-17T21:25:26.738Z","0.94.1-20200817223342":"2020-08-17T22:33:50.242Z","0.94.1-20200817225017":"2020-08-17T22:50:23.573Z","0.94.1-20200818093335":"2020-08-18T09:33:46.360Z","0.94.1-20200818101800":"2020-08-18T10:18:06.457Z","0.94.1-20200818161018":"2020-08-18T16:10:24.891Z","0.94.1-20200818165425":"2020-08-18T16:54:32.038Z","0.94.1-20200818175055":"2020-08-18T17:51:03.388Z","0.94.1-20200818193149":"2020-08-18T19:31:58.365Z","0.94.1-20200818214737":"2020-08-18T21:47:43.940Z","0.94.1-20200819062221":"2020-08-19T06:22:27.695Z","0.94.1-20200819062935":"2020-08-19T06:29:43.501Z","0.94.1-20200819063123":"2020-08-19T06:31:32.148Z","0.94.1-20200819133336":"2020-08-19T13:33:46.091Z","0.94.1-20200819141328":"2020-08-19T14:13:37.718Z","0.94.1-20200820135326":"2020-08-20T13:53:37.330Z","0.94.1-20200820145026":"2020-08-20T14:50:36.152Z","0.94.1-20200820152135":"2020-08-20T15:21:41.940Z","0.94.1-20200820154734":"2020-08-20T15:47:41.197Z","0.94.1-20200820162239":"2020-08-20T16:22:45.387Z","0.94.1-20200820173104":"2020-08-20T17:31:10.797Z","0.95.0":"2020-08-20T17:47:24.160Z","0.95.1-20200820175320":"2020-08-20T17:53:27.090Z","0.95.1-20200826155937":"2020-08-26T15:59:45.689Z","0.95.1-20200826183520":"2020-08-26T18:35:28.424Z","0.95.1-20200826184129":"2020-08-26T18:41:35.769Z","0.95.1-20200826184225":"2020-08-26T18:42:32.058Z","0.95.1-20200826190702":"2020-08-26T19:07:10.649Z","0.95.1-20200826190803":"2020-08-26T19:08:11.322Z","0.95.1-20200826194631":"2020-08-26T19:46:39.581Z","0.95.1":"2020-08-26T20:02:26.311Z","0.95.2-20200826200706":"2020-08-26T20:07:15.192Z","0.95.2-20200826224901":"2020-08-26T22:49:07.472Z","0.95.2-20200826225934":"2020-08-26T22:59:43.756Z","0.95.2":"2020-08-26T23:00:39.152Z","0.95.3-20200826230518":"2020-08-26T23:05:25.130Z","0.95.3-20200904231703":"2020-09-04T23:17:10.197Z","0.95.3":"2020-09-05T14:24:38.761Z","0.95.4-20200905142928":"2020-09-05T14:29:36.091Z","0.95.4-20200911063108":"2020-09-11T06:31:18.551Z","0.95.4-20200914134853":"2020-09-14T13:49:01.047Z","0.95.4-20200914153916":"2020-09-14T15:39:22.804Z","0.95.4-20200914165308":"2020-09-14T16:53:16.685Z","0.95.4-20200916182221":"2020-09-16T18:22:28.523Z","0.95.4-20200916221824":"2020-09-16T22:18:31.387Z","0.95.4-20200919092328":"2020-09-19T09:23:35.382Z","0.95.4-20200919093128":"2020-09-19T09:31:35.412Z","0.95.4-20200919161815":"2020-09-19T16:18:21.717Z","0.95.4-20200921120836":"2020-09-21T12:08:44.001Z","0.95.4-20200921154345":"2020-09-21T15:43:56.484Z","0.95.4-20200921160458":"2020-09-21T16:05:04.866Z","0.95.4":"2020-09-21T17:35:08.271Z","0.95.5-20200921174103":"2020-09-21T17:41:10.012Z","0.95.5-20200928133137":"2020-09-28T13:31:44.495Z","0.95.1-20200928133307":"2020-09-28T13:33:14.259Z","0.95.5-20200928155747":"2020-09-28T15:57:55.814Z","0.95.5-20200928171510":"2020-09-28T17:15:17.187Z","0.95.5-20200928172817":"2020-09-28T17:28:23.988Z","0.95.5-20200928191006":"2020-09-28T19:10:17.035Z","0.95.5-20200928224825":"2020-09-28T22:48:34.484Z","0.95.5-20200928225934":"2020-09-28T22:59:43.787Z","0.95.5-20200928230500":"2020-09-28T23:05:11.990Z","0.95.5-20200928230609":"2020-09-28T23:06:20.111Z","0.95.5-20200929135223":"2020-09-29T13:52:30.501Z","0.95.5-20200929214249":"2020-09-29T21:42:58.445Z","0.95.5-20200929215804":"2020-09-29T21:58:11.578Z","0.95.5-20200929215918":"2020-09-29T21:59:25.633Z","0.95.5-20200929220348":"2020-09-29T22:03:55.612Z","0.95.5-20201001153745":"2020-10-01T15:37:51.876Z","0.95.5-20201001180242":"2020-10-01T18:02:50.734Z","0.95.5-20201001183133":"2020-10-01T18:31:42.626Z","0.95.5-20201001195448":"2020-10-01T19:54:58.000Z","0.95.5-20201001212030":"2020-10-01T21:20:40.784Z","0.96.0":"2020-10-01T21:46:14.631Z","0.96.1-20201001215119":"2020-10-01T21:51:25.984Z","0.96.1-20201002122041":"2020-10-02T12:20:48.462Z","0.96.1-20201002124148":"2020-10-02T12:41:56.723Z","0.96.1-20201002144230":"2020-10-02T14:42:37.586Z","0.96.1-20201002150029":"2020-10-02T15:00:51.823Z","0.96.1":"2020-10-02T15:06:28.070Z","0.96.2-20201002151755":"2020-10-02T15:18:04.795Z","0.95.5-20201002181621":"2020-10-02T18:16:28.163Z","0.95.5-20201002181840":"2020-10-02T18:18:52.102Z","0.96.2-20201005155650":"2020-10-05T15:57:02.455Z","0.96.2-20201007150616":"2020-10-07T15:06:23.702Z","0.96.2-20201009133847":"2020-10-09T13:38:54.325Z","0.96.2-20201016143055":"2020-10-16T14:31:03.173Z","0.96.2-20201016191545":"2020-10-16T19:15:52.168Z","0.96.2-20201022202016":"2020-10-22T20:20:23.593Z","0.96.2-20201026160553":"2020-10-26T16:06:00.874Z","0.96.2-20201213060638":"2020-12-13T06:06:44.871Z","0.96.2-20201216174835":"2020-12-16T17:48:45.253Z","0.96.2-20201216213319":"2020-12-16T21:33:26.988Z","0.96.2-20201218144810":"2020-12-18T14:48:17.354Z","0.96.2-20201218145232":"2020-12-18T14:52:39.155Z","0.96.2-20210125144419":"2021-01-25T14:44:28.486Z","0.96.2-20210202141450":"2021-02-02T14:14:57.855Z","0.96.2-20210208224842":"2021-02-08T22:48:48.741Z","0.96.2-20210209000334":"2021-02-09T00:03:44.744Z","0.96.2-20210209073046":"2021-02-09T07:30:53.287Z","0.96.2-20210209151119":"2021-02-09T15:11:31.426Z","0.96.2-20210210132620":"2021-02-10T13:26:27.585Z","0.96.2-20210210222932":"2021-02-10T22:29:40.171Z","0.96.2-20210211150308":"2021-02-11T15:03:16.846Z","0.96.2-20210223123913":"2021-02-23T12:39:21.993Z","0.96.2-20210223124748":"2021-02-23T12:47:57.383Z","0.96.2-20210223133735":"2021-02-23T13:37:42.344Z","0.96.2-20210223143541":"2021-02-23T14:35:50.443Z","0.96.2-20210226084216":"2021-02-26T08:42:27.090Z","0.96.2-20210226084336":"2021-02-26T08:43:43.237Z","0.96.2-20210301135723":"2021-03-01T13:57:31.761Z","0.96.2-20210304163100":"2021-03-04T16:31:07.172Z","0.96.2-20210304165415":"2021-03-04T16:54:24.301Z","0.96.2-20210308112234":"2021-03-08T11:22:43.896Z","0.96.2-20210312103807":"2021-03-12T10:38:13.952Z","0.96.2-20210315154858":"2021-03-15T15:49:06.481Z","0.96.2-20210315194718":"2021-03-15T19:47:25.377Z","0.97.0":"2021-03-15T20:35:22.028Z","0.97.1-20210315205043":"2021-03-15T20:50:50.229Z","0.97.1-20210317115119":"2021-03-17T11:51:27.307Z","0.97.1-20210320193511":"2021-03-20T19:35:19.101Z","0.97.1-20210324113711":"2021-03-24T11:37:18.423Z","0.97.1-20210326144727":"2021-03-26T14:47:38.618Z","0.97.1-20210326214338":"2021-03-26T21:43:48.237Z","0.97.1-20210330144313":"2021-03-30T14:43:24.477Z","0.97.1-20210402135208":"2021-04-02T13:52:17.761Z","0.97.1-20210402140647":"2021-04-02T14:06:58.220Z","0.97.1-20210402141339":"2021-04-02T14:13:48.383Z","0.97.1-20210402141804":"2021-04-02T14:18:13.256Z","0.97.1-20210425133850":"2021-04-25T13:39:01.310Z","0.97.1-20210427000722":"2021-04-27T00:07:30.605Z","0.97.1-20210427173530":"2021-04-27T17:35:38.818Z","0.97.1-20210503213708":"2021-05-03T21:37:16.440Z","0.97.1-20210505143034":"2021-05-05T14:30:42.752Z","0.97.1-20210505144556":"2021-05-05T14:46:04.235Z","0.97.1-20210505160342":"2021-05-05T16:03:52.899Z","0.97.1-20210505160643":"2021-05-05T16:06:53.721Z","0.98.0":"2021-05-05T18:40:41.126Z","0.97.1-20210505184443":"2021-05-05T18:44:53.340Z","0.98.1-20210505184954":"2021-05-05T18:50:03.452Z","0.98.1-20210510163230":"2021-05-10T16:32:38.489Z","0.98.1-20210512152801":"2021-05-12T15:28:12.742Z","0.98.1-20210513163414":"2021-05-13T16:34:23.908Z","0.98.1-20210513163751":"2021-05-13T16:38:01.666Z","0.98.1-20210513164433":"2021-05-13T16:44:42.316Z","0.98.1-20210513165843":"2021-05-13T16:58:51.811Z","0.98.1-20210518133404":"2021-05-18T13:34:13.554Z","0.98.1-20210524132701":"2021-05-24T13:27:10.322Z","0.98.1-20210524133647":"2021-05-24T13:36:55.301Z","0.97.1-20210526212817":"2021-05-26T21:28:27.369Z","0.98.1-20210526215132":"2021-05-26T21:51:40.731Z","0.98.1-20210602105716":"2021-06-02T10:57:25.333Z","0.98.1-20210603094608":"2021-06-03T09:46:18.842Z","0.98.1-20210603100332":"2021-06-03T10:03:41.030Z","0.98.1-20210709122237":"2021-07-09T12:22:45.788Z","0.98.1-20210714091804":"2021-07-14T09:18:12.411Z","0.98.1-20210716134627":"2021-07-16T13:46:34.977Z","0.98.1-20210716204707":"2021-07-16T20:47:15.407Z","0.98.1-20210720125148":"2021-07-20T12:51:55.804Z","0.98.1-20210721171113":"2021-07-21T17:11:21.490Z","0.98.1-20210725001529":"2021-07-25T00:15:37.341Z","0.98.1-20210726201932":"2021-07-26T20:19:39.120Z","0.98.1-20210726202143":"2021-07-26T20:21:51.767Z","0.98.1-20210726203311":"2021-07-26T20:33:20.698Z","0.98.1-20210726210910":"2021-07-26T21:09:18.240Z","0.98.1-20210726213245":"2021-07-26T21:32:54.291Z","0.98.1-20210727145332":"2021-07-27T14:53:40.622Z","0.98.1-20210727151205":"2021-07-27T15:12:17.247Z","0.98.1-20210727151447":"2021-07-27T15:14:59.383Z","0.98.1-20210728144754":"2021-07-28T14:48:03.125Z","0.98.1-20210728152751":"2021-07-28T15:27:59.484Z","0.98.1-20210728153052":"2021-07-28T15:31:01.188Z","0.98.1-20210728153312":"2021-07-28T15:33:20.985Z","0.98.1-20210928120814":"2021-09-28T12:08:20.344Z","0.98.1-20210928123444":"2021-09-28T12:34:50.099Z","0.98.1-20211021190138":"2021-10-21T19:01:44.552Z","0.98.1-20211206140017":"2021-12-06T14:00:25.792Z","0.98.1-20220112114515":"2022-01-12T11:45:23.525Z","0.98.1-20220128172134":"2022-01-28T17:21:44.402Z","0.98.1-20220129155349":"2022-01-29T15:53:58.597Z","0.98.1-20220203092900":"2022-02-03T09:29:08.249Z","0.98.1-20220309172131":"2022-03-09T17:21:37.077Z","0.98.1-20221108115453":"2022-11-08T11:55:01.702Z","0.98.1-20221115123407":"2022-11-15T12:34:14.822Z","0.98.1-20221115123910":"2022-11-15T12:39:18.754Z","0.98.1-20221115124152":"2022-11-15T12:41:59.806Z","0.98.1-20221115135434":"2022-11-15T13:54:42.392Z","0.98.1-20221115140036":"2022-11-15T14:00:45.960Z","0.98.1-20221115143348":"2022-11-15T14:33:57.490Z"},"bugs":{"url":"https://github.com/accordproject/web-components/issues"},"homepage":"https://github.com/accordproject/web-components#readme","repository":{"url":"git+https://github.com/accordproject/web-components.git","type":"git","directory":"packages/ui-markdown-editor"},"description":"[![downloads](https://img.shields.io/npm/dm/@accordproject/ui-markdown-editor)](https://www.npmjs.com/package/@accordproject/ui-markdown-editor) [![npm version](https://badge.fury.io/js/%40accordproject%2Fui-markdown-editor.svg)](https://badge.fury.io/js/","maintainers":[{"name":"dianalease","email":"dianarlease@gmail.com"},{"name":"dselman","email":"danscode@selman.org"},{"name":"mttrbrts","email":"matt@clause.io"}],"readme":"","readmeFilename":""}