{"action":"created","issue":{"url":"https://api.github.com/repos/skatejs/skatejs/issues/1041","repository_url":"https://api.github.com/repos/skatejs/skatejs","labels_url":"https://api.github.com/repos/skatejs/skatejs/issues/1041/labels{/name}","comments_url":"https://api.github.com/repos/skatejs/skatejs/issues/1041/comments","events_url":"https://api.github.com/repos/skatejs/skatejs/issues/1041/events","html_url":"https://github.com/skatejs/skatejs/pull/1041","id":202771014,"number":1041,"title":"#804 - add way for base Component class to extend base classes","user":{"login":"treshugart","id":136556,"avatar_url":"https://avatars.githubusercontent.com/u/136556?v=3","gravatar_id":"","url":"https://api.github.com/users/treshugart","html_url":"https://github.com/treshugart","followers_url":"https://api.github.com/users/treshugart/followers","following_url":"https://api.github.com/users/treshugart/following{/other_user}","gists_url":"https://api.github.com/users/treshugart/gists{/gist_id}","starred_url":"https://api.github.com/users/treshugart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/treshugart/subscriptions","organizations_url":"https://api.github.com/users/treshugart/orgs","repos_url":"https://api.github.com/users/treshugart/repos","events_url":"https://api.github.com/users/treshugart/events{/privacy}","received_events_url":"https://api.github.com/users/treshugart/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2017-01-24T09:54:04Z","updated_at":"2017-01-26T23:58:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/skatejs/skatejs/pulls/1041","html_url":"https://github.com/skatejs/skatejs/pull/1041","diff_url":"https://github.com/skatejs/skatejs/pull/1041.diff","patch_url":"https://github.com/skatejs/skatejs/pull/1041.patch"},"body":"This enables both custom base classes as well customised built-ins.\r\n\r\n```js\r\nimport { Element } from 'skatejs';\r\n\r\nclass Base extends HTMLElement {};\r\nexport class Default extends Element();\r\nexport class Custom extends Element(Base);\r\nexport class BuiltIn extends Element(HTMLDivElement);\r\n```\r\n\r\nIt might be worth raising an issue at some point to detect the tag name of the base class the person is trying to extend so that we can automate customised built-ins within `define()`. For example:\r\n\r\n```js\r\nimport { Element, define } from 'skatejs';\r\n\r\nexport default define(class extends Element(HTMLDivElement) {});\r\n```\r\n\r\nAnd internally in `define()`, we could do:\r\n\r\n```js\r\nconst tagName = getTagNameFromBuiltInClass(HTMLDivElement);\r\ncustomElements.define(CustomElement.is, CustomElement, { extends: tagName });\r\n```"},"comment":{"url":"https://api.github.com/repos/skatejs/skatejs/issues/comments/275552165","html_url":"https://github.com/skatejs/skatejs/pull/1041#issuecomment-275552165","issue_url":"https://api.github.com/repos/skatejs/skatejs/issues/1041","id":275552165,"user":{"login":"Hotell","id":1223799,"avatar_url":"https://avatars.githubusercontent.com/u/1223799?v=3","gravatar_id":"","url":"https://api.github.com/users/Hotell","html_url":"https://github.com/Hotell","followers_url":"https://api.github.com/users/Hotell/followers","following_url":"https://api.github.com/users/Hotell/following{/other_user}","gists_url":"https://api.github.com/users/Hotell/gists{/gist_id}","starred_url":"https://api.github.com/users/Hotell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hotell/subscriptions","organizations_url":"https://api.github.com/users/Hotell/orgs","repos_url":"https://api.github.com/users/Hotell/repos","events_url":"https://api.github.com/users/Hotell/events{/privacy}","received_events_url":"https://api.github.com/users/Hotell/received_events","type":"User","site_admin":false},"created_at":"2017-01-26T23:58:44Z","updated_at":"2017-01-26T23:58:44Z","body":"Hmm I dunno, I don't like to be consistent for all costs with some project X. Skate is much better than Polymer IMHO ( thanks to them the platform is pushed forward, kudos to that without doubt ). So I guess it's your call ;)"}}
{"actor":{"display_login":"Hotell"}}