{"action":"created","issue":{"url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/3837","repository_url":"https://api.github.com/repos/vuetifyjs/vuetify","labels_url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/3837/labels{/name}","comments_url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/3837/comments","events_url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/3837/events","html_url":"https://github.com/vuetifyjs/vuetify/pull/3837","id":313599584,"number":3837,"title":"refactor: convert components to typescript","user":{"login":"KaelWD","id":16421948,"avatar_url":"https://avatars2.githubusercontent.com/u/16421948?v=4","gravatar_id":"","url":"https://api.github.com/users/KaelWD","html_url":"https://github.com/KaelWD","followers_url":"https://api.github.com/users/KaelWD/followers","following_url":"https://api.github.com/users/KaelWD/following{/other_user}","gists_url":"https://api.github.com/users/KaelWD/gists{/gist_id}","starred_url":"https://api.github.com/users/KaelWD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KaelWD/subscriptions","organizations_url":"https://api.github.com/users/KaelWD/orgs","repos_url":"https://api.github.com/users/KaelWD/repos","events_url":"https://api.github.com/users/KaelWD/events{/privacy}","received_events_url":"https://api.github.com/users/KaelWD/received_events","type":"User","site_admin":false},"labels":[{"id":440781593,"url":"https://api.github.com/repos/vuetifyjs/vuetify/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":661132483,"url":"https://api.github.com/repos/vuetifyjs/vuetify/labels/in%20progress","name":"in progress","color":"006b75","default":false},{"id":570678951,"url":"https://api.github.com/repos/vuetifyjs/vuetify/labels/task","name":"task","color":"bfdadc","default":false}],"state":"open","locked":false,"assignee":{"login":"KaelWD","id":16421948,"avatar_url":"https://avatars2.githubusercontent.com/u/16421948?v=4","gravatar_id":"","url":"https://api.github.com/users/KaelWD","html_url":"https://github.com/KaelWD","followers_url":"https://api.github.com/users/KaelWD/followers","following_url":"https://api.github.com/users/KaelWD/following{/other_user}","gists_url":"https://api.github.com/users/KaelWD/gists{/gist_id}","starred_url":"https://api.github.com/users/KaelWD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KaelWD/subscriptions","organizations_url":"https://api.github.com/users/KaelWD/orgs","repos_url":"https://api.github.com/users/KaelWD/repos","events_url":"https://api.github.com/users/KaelWD/events{/privacy}","received_events_url":"https://api.github.com/users/KaelWD/received_events","type":"User","site_admin":false},"assignees":[{"login":"KaelWD","id":16421948,"avatar_url":"https://avatars2.githubusercontent.com/u/16421948?v=4","gravatar_id":"","url":"https://api.github.com/users/KaelWD","html_url":"https://github.com/KaelWD","followers_url":"https://api.github.com/users/KaelWD/followers","following_url":"https://api.github.com/users/KaelWD/following{/other_user}","gists_url":"https://api.github.com/users/KaelWD/gists{/gist_id}","starred_url":"https://api.github.com/users/KaelWD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KaelWD/subscriptions","organizations_url":"https://api.github.com/users/KaelWD/orgs","repos_url":"https://api.github.com/users/KaelWD/repos","events_url":"https://api.github.com/users/KaelWD/events{/privacy}","received_events_url":"https://api.github.com/users/KaelWD/received_events","type":"User","site_admin":false}],"milestone":null,"comments":0,"created_at":"2018-04-12T06:58:59Z","updated_at":"2018-05-03T08:54:26Z","closed_at":null,"author_association":"OWNER","pull_request":{"url":"https://api.github.com/repos/vuetifyjs/vuetify/pulls/3837","html_url":"https://github.com/vuetifyjs/vuetify/pull/3837","diff_url":"https://github.com/vuetifyjs/vuetify/pull/3837.diff","patch_url":"https://github.com/vuetifyjs/vuetify/pull/3837.patch"},"body":"### WIP\r\n\r\nTODO:\r\n\r\n- [ ] The rest of the components\r\n- [ ] Tests\r\n- [ ] Prod build\r\n- [ ] es5 build\r\n- [ ] custom linting rules\r\n\r\nPossible patterns:\r\n```ts\r\n// Regular options object\r\nexport default Vue.extend({\r\n  ...\r\n})\r\n\r\n// Or with mixins\r\nexport default mixins(Foo, Bar).extend({\r\n  ...\r\n})\r\n```\r\n\r\n```ts\r\n// Class with decorators, makes props a bit messy\r\n@Component({\r\n  props: {\r\n    foo: String,\r\n    bar: Boolean\r\n  }\r\n})\r\nexport default class FooBar extends Vue {\r\n  foo: string\r\n  bar: boolean\r\n}\r\n\r\n@Component\r\nexport default class FooBar extends Vue {\r\n  @Prop() foo: string\r\n  @Prop() bar: boolean\r\n}\r\n```\r\n\r\n```ts\r\n// Both?\r\nconst options = Vue.extend({\r\n  props: {\r\n    foo: String,\r\n    bar: Boolean\r\n  }\r\n})\r\n\r\n@Component\r\nexport default class FooBar extends options {\r\n  ... // No need to declare props twice\r\n}"},"comment":{"url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/comments/386230688","html_url":"https://github.com/vuetifyjs/vuetify/pull/3837#issuecomment-386230688","issue_url":"https://api.github.com/repos/vuetifyjs/vuetify/issues/3837","id":386230688,"user":{"login":"codecov[bot]","id":22429695,"avatar_url":"https://avatars2.githubusercontent.com/in/254?v=4","gravatar_id":"","url":"https://api.github.com/users/codecov%5Bbot%5D","html_url":"https://github.com/apps/codecov","followers_url":"https://api.github.com/users/codecov%5Bbot%5D/followers","following_url":"https://api.github.com/users/codecov%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/codecov%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/codecov%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codecov%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/codecov%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/codecov%5Bbot%5D/repos","events_url":"https://api.github.com/users/codecov%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/codecov%5Bbot%5D/received_events","type":"Bot","site_admin":false},"created_at":"2018-05-03T08:54:26Z","updated_at":"2018-05-03T08:54:26Z","author_association":"NONE","body":"# [Codecov](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=h1) Report\n> Merging [#3837](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=desc) into [dev](https://codecov.io/gh/vuetifyjs/vuetify/commit/016d014115dc5a485f2b15b3aecf61fa474a898e?src=pr&el=desc) will **increase** coverage by `0.13%`.\n> The diff coverage is `95.12%`.\n\n[![Impacted file tree graph](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/graphs/tree.svg?width=650&height=150&src=pr&token=zytLhwff8c)](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=tree)\n\n```diff\n@@            Coverage Diff             @@\n##              dev    #3837      +/-   ##\n==========================================\n+ Coverage   84.98%   85.12%   +0.13%     \n==========================================\n  Files         153      156       +3     \n  Lines        3577     3704     +127     \n  Branches     1129     1171      +42     \n==========================================\n+ Hits         3040     3153     +113     \n- Misses        405      419      +14     \n  Partials      132      132\n```\n\n\n| [Impacted Files](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=tree) | Coverage Δ | |\n|---|---|---|\n| [src/components/VAvatar/VAvatar.js](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL2NvbXBvbmVudHMvVkF2YXRhci9WQXZhdGFyLmpz) | `100% <ø> (ø)` | :arrow_up: |\n| [src/components/VDivider/VDivider.js](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL2NvbXBvbmVudHMvVkRpdmlkZXIvVkRpdmlkZXIuanM=) | `100% <ø> (ø)` | :arrow_up: |\n| [src/mixins/positionable.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL21peGlucy9wb3NpdGlvbmFibGUudHM=) | `100% <100%> (ø)` | |\n| [src/util/mixins.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL3V0aWwvbWl4aW5zLnRz) | `100% <100%> (ø)` | |\n| [src/components/VBtn/index.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL2NvbXBvbmVudHMvVkJ0bi9pbmRleC50cw==) | `100% <100%> (ø)` | |\n| [src/components/VIcon/index.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL2NvbXBvbmVudHMvVkljb24vaW5kZXgudHM=) | `100% <100%> (ø)` | |\n| [src/mixins/registrable.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL21peGlucy9yZWdpc3RyYWJsZS50cw==) | `100% <100%> (ø)` | |\n| [test/index.js](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-dGVzdC9pbmRleC5qcw==) | `83.92% <100%> (+0.9%)` | :arrow_up: |\n| [src/mixins/toggleable.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL21peGlucy90b2dnbGVhYmxlLnRz) | `100% <100%> (ø)` | |\n| [src/components/VIcon/VIcon.ts](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree#diff-c3JjL2NvbXBvbmVudHMvVkljb24vVkljb24udHM=) | `91.93% <100%> (ø)` | |\n| ... and [18 more](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837/diff?src=pr&el=tree-more) | |\n\n------\n\n[Continue to review full report at Codecov](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=continue).\n> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)\n> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`\n> Powered by [Codecov](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=footer). Last update [016d014...4f0c70f](https://codecov.io/gh/vuetifyjs/vuetify/pull/3837?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).\n"}}
{"actor":{"display_login":"codecov"}}