{"action":"created","issue":{"url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/147","repository_url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins","labels_url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/147/labels{/name}","comments_url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/147/comments","events_url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/147/events","html_url":"https://github.com/draft-js-plugins/draft-js-plugins/issues/147","id":144156239,"number":147,"title":"Don't mount pluginProps on Editor","user":{"login":"juliankrispel","id":1188186,"avatar_url":"https://avatars.githubusercontent.com/u/1188186?v=3","gravatar_id":"","url":"https://api.github.com/users/juliankrispel","html_url":"https://github.com/juliankrispel","followers_url":"https://api.github.com/users/juliankrispel/followers","following_url":"https://api.github.com/users/juliankrispel/following{/other_user}","gists_url":"https://api.github.com/users/juliankrispel/gists{/gist_id}","starred_url":"https://api.github.com/users/juliankrispel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliankrispel/subscriptions","organizations_url":"https://api.github.com/users/juliankrispel/orgs","repos_url":"https://api.github.com/users/juliankrispel/repos","events_url":"https://api.github.com/users/juliankrispel/events{/privacy}","received_events_url":"https://api.github.com/users/juliankrispel/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-29T04:55:29Z","updated_at":"2016-04-14T12:49:52Z","closed_at":null,"body":"We are currently mounting the {pluginProps} [directly on the editor](https://github.com/draft-js-plugins/draft-js-plugins/blob/master/draft-js-plugins-editor/src/Editor/index.js#L235).\r\n\r\nI think this is pretty misleading because since you can have multiple plugins, the last plugin will win (even if we merge the props objects, we'll have naming collisions).\r\n\r\nThe only use-case for mounting pluginProps on the editor that I can think of right now are aria tags (for example the mention plugin and the emoji plugin). I think it makes sense if we leave it up to users to mount those explicitly, we could even expose a default set of recommended editor props. Something like.\r\n\r\n```js\r\nimport plugin, {ariaProps} from 'draft-js-plugin';\r\n\r\nconst plugins = [plugin()];\r\n\r\n... <Editor plugins={plugins} {...ariaProps} />\r\n```\r\n\r\nany thoughts?"},"comment":{"url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/comments/209924145","html_url":"https://github.com/draft-js-plugins/draft-js-plugins/issues/147#issuecomment-209924145","issue_url":"https://api.github.com/repos/draft-js-plugins/draft-js-plugins/issues/147","id":209924145,"user":{"login":"juliankrispel","id":1188186,"avatar_url":"https://avatars.githubusercontent.com/u/1188186?v=3","gravatar_id":"","url":"https://api.github.com/users/juliankrispel","html_url":"https://github.com/juliankrispel","followers_url":"https://api.github.com/users/juliankrispel/followers","following_url":"https://api.github.com/users/juliankrispel/following{/other_user}","gists_url":"https://api.github.com/users/juliankrispel/gists{/gist_id}","starred_url":"https://api.github.com/users/juliankrispel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juliankrispel/subscriptions","organizations_url":"https://api.github.com/users/juliankrispel/orgs","repos_url":"https://api.github.com/users/juliankrispel/repos","events_url":"https://api.github.com/users/juliankrispel/events{/privacy}","received_events_url":"https://api.github.com/users/juliankrispel/received_events","type":"User","site_admin":false},"created_at":"2016-04-14T12:49:52Z","updated_at":"2016-04-14T12:49:52Z","body":"@nikgraf here's what I think we should do:\r\n\r\n1 - If the prop is a function (mostly callbacks) we compose it (like we already do).\r\n2 - If the prop is not a function, the user must mount the prop on the Editor itself.\r\n\r\nI think that'll help the user clearly differentiate between `editor-level` props or `plugin-level` props"}}