{"action":"created","comment":{"url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/comments/169782177","pull_request_review_id":98365761,"id":169782177,"diff_hunk":"@@ -0,0 +1,201 @@\n+# Carbon component mixins\n+\n+Carbon component mixins, based on [Subclass Factory Pattern](https://github.com/justinfagnani/proposal-mixins#subclass-factory-pattern), provides the basis for Carbon component classes by allowing component implementation to compose small pieces of functionalities to base them on, instead of introducing \"fat base class\".\n+\n+* [Component lifecycle](#component-lifecycle-create-componentjs) ([`create-component.js`](./create-component.js))","path":"src/globals/js/mixins/README.md","position":5,"original_position":5,"commit_id":"162b7776f154d54cba479d22133c5782ba49895b","original_commit_id":"162b7776f154d54cba479d22133c5782ba49895b","user":{"login":"joshblack","id":3901764,"avatar_url":"https://avatars1.githubusercontent.com/u/3901764?v=4","gravatar_id":"","url":"https://api.github.com/users/joshblack","html_url":"https://github.com/joshblack","followers_url":"https://api.github.com/users/joshblack/followers","following_url":"https://api.github.com/users/joshblack/following{/other_user}","gists_url":"https://api.github.com/users/joshblack/gists{/gist_id}","starred_url":"https://api.github.com/users/joshblack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joshblack/subscriptions","organizations_url":"https://api.github.com/users/joshblack/orgs","repos_url":"https://api.github.com/users/joshblack/repos","events_url":"https://api.github.com/users/joshblack/events{/privacy}","received_events_url":"https://api.github.com/users/joshblack/received_events","type":"User","site_admin":false},"body":"You could use [`doctoc`](https://github.com/thlorenz/doctoc) here to generate the table of contents if you wanted 😄 \r\n\r\nUsed in DataTable in the README: https://raw.githubusercontent.com/carbon-design-system/carbon-components-react/master/src/components/DataTable/README.md\r\n\r\nThe snippet itself just looks like:\r\n\r\n```md\r\n<!-- To run doctoc, just do `npx doctoc README.md` in this directory! -->\r\n\r\n<!-- START doctoc generated TOC please keep comment here to allow auto update -->\r\n<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->\r\n\r\n\r\n- [Installation](#installation)\r\n- [Usage](#usage)\r\n- [Props](#props)\r\n  - [`rows`](#rows)\r\n  - [`headers`](#headers)\r\n  - [`sortRow`](#sortrow)\r\n  - [`filterRows`](#filterrows)\r\n  - [`locale`](#locale)\r\n- [Render Prop Function](#render-prop-function)\r\n  - [Prop Getters](#prop-getters)\r\n  - [Actions](#actions)\r\n  - [State](#state)\r\n  - [Props](#props-1)\r\n- [Use-cases](#use-cases)\r\n  - [Sorting](#sorting)\r\n    - [Programmatic sorting](#programmatic-sorting)\r\n    - [Custom sorting](#custom-sorting)\r\n  - [Expansion](#expansion)\r\n    - [Programmatic expansion](#programmatic-expansion)\r\n  - [Selection](#selection)\r\n    - [Programmatic selection](#programmatic-selection)\r\n  - [Filtering](#filtering)\r\n  - [Batch Actions](#batch-actions)\r\n- [Attribution](#attribution)\r\n\r\n<!-- END doctoc generated TOC please keep comment here to allow auto update -->\r\n```","created_at":"2018-02-21T21:25:06Z","updated_at":"2018-02-21T21:25:06Z","html_url":"https://github.com/carbon-design-system/carbon-components/pull/599#discussion_r169782177","pull_request_url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/comments/169782177"},"html":{"href":"https://github.com/carbon-design-system/carbon-components/pull/599#discussion_r169782177"},"pull_request":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599"}}},"pull_request":{"url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599","id":170384846,"html_url":"https://github.com/carbon-design-system/carbon-components/pull/599","diff_url":"https://github.com/carbon-design-system/carbon-components/pull/599.diff","patch_url":"https://github.com/carbon-design-system/carbon-components/pull/599.patch","issue_url":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/599","number":599,"state":"open","locked":false,"title":"docs(components): docs on component internals","user":{"login":"asudoh","id":1259051,"avatar_url":"https://avatars1.githubusercontent.com/u/1259051?v=4","gravatar_id":"","url":"https://api.github.com/users/asudoh","html_url":"https://github.com/asudoh","followers_url":"https://api.github.com/users/asudoh/followers","following_url":"https://api.github.com/users/asudoh/following{/other_user}","gists_url":"https://api.github.com/users/asudoh/gists{/gist_id}","starred_url":"https://api.github.com/users/asudoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asudoh/subscriptions","organizations_url":"https://api.github.com/users/asudoh/orgs","repos_url":"https://api.github.com/users/asudoh/repos","events_url":"https://api.github.com/users/asudoh/events{/privacy}","received_events_url":"https://api.github.com/users/asudoh/received_events","type":"User","site_admin":false},"body":"### Added\r\n\r\nDeep-dive documentation on Carbon component mixins.\r\n\r\n## Testing / Reviewing\r\n\r\nReviewing should ensure the newly added document will make the internals of Carbon component mixins easy to understand.","created_at":"2018-02-21T06:13:46Z","updated_at":"2018-02-21T21:25:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8b98110bb5787cb60a69ba66937f4e9efcb7502c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599/commits","review_comments_url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599/comments","review_comment_url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/comments{/number}","comments_url":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/599/comments","statuses_url":"https://api.github.com/repos/carbon-design-system/carbon-components/statuses/162b7776f154d54cba479d22133c5782ba49895b","head":{"label":"asudoh:deep-dive-docs","ref":"deep-dive-docs","sha":"162b7776f154d54cba479d22133c5782ba49895b","user":{"login":"asudoh","id":1259051,"avatar_url":"https://avatars1.githubusercontent.com/u/1259051?v=4","gravatar_id":"","url":"https://api.github.com/users/asudoh","html_url":"https://github.com/asudoh","followers_url":"https://api.github.com/users/asudoh/followers","following_url":"https://api.github.com/users/asudoh/following{/other_user}","gists_url":"https://api.github.com/users/asudoh/gists{/gist_id}","starred_url":"https://api.github.com/users/asudoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asudoh/subscriptions","organizations_url":"https://api.github.com/users/asudoh/orgs","repos_url":"https://api.github.com/users/asudoh/repos","events_url":"https://api.github.com/users/asudoh/events{/privacy}","received_events_url":"https://api.github.com/users/asudoh/received_events","type":"User","site_admin":false},"repo":{"id":86763353,"name":"carbon-components","full_name":"asudoh/carbon-components","owner":{"login":"asudoh","id":1259051,"avatar_url":"https://avatars1.githubusercontent.com/u/1259051?v=4","gravatar_id":"","url":"https://api.github.com/users/asudoh","html_url":"https://github.com/asudoh","followers_url":"https://api.github.com/users/asudoh/followers","following_url":"https://api.github.com/users/asudoh/following{/other_user}","gists_url":"https://api.github.com/users/asudoh/gists{/gist_id}","starred_url":"https://api.github.com/users/asudoh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asudoh/subscriptions","organizations_url":"https://api.github.com/users/asudoh/orgs","repos_url":"https://api.github.com/users/asudoh/repos","events_url":"https://api.github.com/users/asudoh/events{/privacy}","received_events_url":"https://api.github.com/users/asudoh/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/asudoh/carbon-components","description":"The component library behind Carbon Design System","fork":true,"url":"https://api.github.com/repos/asudoh/carbon-components","forks_url":"https://api.github.com/repos/asudoh/carbon-components/forks","keys_url":"https://api.github.com/repos/asudoh/carbon-components/keys{/key_id}","collaborators_url":"https://api.github.com/repos/asudoh/carbon-components/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/asudoh/carbon-components/teams","hooks_url":"https://api.github.com/repos/asudoh/carbon-components/hooks","issue_events_url":"https://api.github.com/repos/asudoh/carbon-components/issues/events{/number}","events_url":"https://api.github.com/repos/asudoh/carbon-components/events","assignees_url":"https://api.github.com/repos/asudoh/carbon-components/assignees{/user}","branches_url":"https://api.github.com/repos/asudoh/carbon-components/branches{/branch}","tags_url":"https://api.github.com/repos/asudoh/carbon-components/tags","blobs_url":"https://api.github.com/repos/asudoh/carbon-components/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/asudoh/carbon-components/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/asudoh/carbon-components/git/refs{/sha}","trees_url":"https://api.github.com/repos/asudoh/carbon-components/git/trees{/sha}","statuses_url":"https://api.github.com/repos/asudoh/carbon-components/statuses/{sha}","languages_url":"https://api.github.com/repos/asudoh/carbon-components/languages","stargazers_url":"https://api.github.com/repos/asudoh/carbon-components/stargazers","contributors_url":"https://api.github.com/repos/asudoh/carbon-components/contributors","subscribers_url":"https://api.github.com/repos/asudoh/carbon-components/subscribers","subscription_url":"https://api.github.com/repos/asudoh/carbon-components/subscription","commits_url":"https://api.github.com/repos/asudoh/carbon-components/commits{/sha}","git_commits_url":"https://api.github.com/repos/asudoh/carbon-components/git/commits{/sha}","comments_url":"https://api.github.com/repos/asudoh/carbon-components/comments{/number}","issue_comment_url":"https://api.github.com/repos/asudoh/carbon-components/issues/comments{/number}","contents_url":"https://api.github.com/repos/asudoh/carbon-components/contents/{+path}","compare_url":"https://api.github.com/repos/asudoh/carbon-components/compare/{base}...{head}","merges_url":"https://api.github.com/repos/asudoh/carbon-components/merges","archive_url":"https://api.github.com/repos/asudoh/carbon-components/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/asudoh/carbon-components/downloads","issues_url":"https://api.github.com/repos/asudoh/carbon-components/issues{/number}","pulls_url":"https://api.github.com/repos/asudoh/carbon-components/pulls{/number}","milestones_url":"https://api.github.com/repos/asudoh/carbon-components/milestones{/number}","notifications_url":"https://api.github.com/repos/asudoh/carbon-components/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/asudoh/carbon-components/labels{/name}","releases_url":"https://api.github.com/repos/asudoh/carbon-components/releases{/id}","deployments_url":"https://api.github.com/repos/asudoh/carbon-components/deployments","created_at":"2017-03-31T01:01:35Z","updated_at":"2017-10-12T15:18:47Z","pushed_at":"2018-02-21T09:45:45Z","git_url":"git://github.com/asudoh/carbon-components.git","ssh_url":"git@github.com:asudoh/carbon-components.git","clone_url":"https://github.com/asudoh/carbon-components.git","svn_url":"https://github.com/asudoh/carbon-components","homepage":"","size":14215,"stargazers_count":1,"watchers_count":1,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":1,"default_branch":"7.x"}},"base":{"label":"carbon-design-system:master","ref":"master","sha":"8c124924d5549850703fda87dde079b91964dd61","user":{"login":"carbon-design-system","id":25179978,"avatar_url":"https://avatars3.githubusercontent.com/u/25179978?v=4","gravatar_id":"","url":"https://api.github.com/users/carbon-design-system","html_url":"https://github.com/carbon-design-system","followers_url":"https://api.github.com/users/carbon-design-system/followers","following_url":"https://api.github.com/users/carbon-design-system/following{/other_user}","gists_url":"https://api.github.com/users/carbon-design-system/gists{/gist_id}","starred_url":"https://api.github.com/users/carbon-design-system/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carbon-design-system/subscriptions","organizations_url":"https://api.github.com/users/carbon-design-system/orgs","repos_url":"https://api.github.com/users/carbon-design-system/repos","events_url":"https://api.github.com/users/carbon-design-system/events{/privacy}","received_events_url":"https://api.github.com/users/carbon-design-system/received_events","type":"Organization","site_admin":false},"repo":{"id":84835535,"name":"carbon-components","full_name":"carbon-design-system/carbon-components","owner":{"login":"carbon-design-system","id":25179978,"avatar_url":"https://avatars3.githubusercontent.com/u/25179978?v=4","gravatar_id":"","url":"https://api.github.com/users/carbon-design-system","html_url":"https://github.com/carbon-design-system","followers_url":"https://api.github.com/users/carbon-design-system/followers","following_url":"https://api.github.com/users/carbon-design-system/following{/other_user}","gists_url":"https://api.github.com/users/carbon-design-system/gists{/gist_id}","starred_url":"https://api.github.com/users/carbon-design-system/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/carbon-design-system/subscriptions","organizations_url":"https://api.github.com/users/carbon-design-system/orgs","repos_url":"https://api.github.com/users/carbon-design-system/repos","events_url":"https://api.github.com/users/carbon-design-system/events{/privacy}","received_events_url":"https://api.github.com/users/carbon-design-system/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/carbon-design-system/carbon-components","description":"The component library behind Carbon Design System","fork":false,"url":"https://api.github.com/repos/carbon-design-system/carbon-components","forks_url":"https://api.github.com/repos/carbon-design-system/carbon-components/forks","keys_url":"https://api.github.com/repos/carbon-design-system/carbon-components/keys{/key_id}","collaborators_url":"https://api.github.com/repos/carbon-design-system/carbon-components/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/carbon-design-system/carbon-components/teams","hooks_url":"https://api.github.com/repos/carbon-design-system/carbon-components/hooks","issue_events_url":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/events{/number}","events_url":"https://api.github.com/repos/carbon-design-system/carbon-components/events","assignees_url":"https://api.github.com/repos/carbon-design-system/carbon-components/assignees{/user}","branches_url":"https://api.github.com/repos/carbon-design-system/carbon-components/branches{/branch}","tags_url":"https://api.github.com/repos/carbon-design-system/carbon-components/tags","blobs_url":"https://api.github.com/repos/carbon-design-system/carbon-components/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/carbon-design-system/carbon-components/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/carbon-design-system/carbon-components/git/refs{/sha}","trees_url":"https://api.github.com/repos/carbon-design-system/carbon-components/git/trees{/sha}","statuses_url":"https://api.github.com/repos/carbon-design-system/carbon-components/statuses/{sha}","languages_url":"https://api.github.com/repos/carbon-design-system/carbon-components/languages","stargazers_url":"https://api.github.com/repos/carbon-design-system/carbon-components/stargazers","contributors_url":"https://api.github.com/repos/carbon-design-system/carbon-components/contributors","subscribers_url":"https://api.github.com/repos/carbon-design-system/carbon-components/subscribers","subscription_url":"https://api.github.com/repos/carbon-design-system/carbon-components/subscription","commits_url":"https://api.github.com/repos/carbon-design-system/carbon-components/commits{/sha}","git_commits_url":"https://api.github.com/repos/carbon-design-system/carbon-components/git/commits{/sha}","comments_url":"https://api.github.com/repos/carbon-design-system/carbon-components/comments{/number}","issue_comment_url":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/comments{/number}","contents_url":"https://api.github.com/repos/carbon-design-system/carbon-components/contents/{+path}","compare_url":"https://api.github.com/repos/carbon-design-system/carbon-components/compare/{base}...{head}","merges_url":"https://api.github.com/repos/carbon-design-system/carbon-components/merges","archive_url":"https://api.github.com/repos/carbon-design-system/carbon-components/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/carbon-design-system/carbon-components/downloads","issues_url":"https://api.github.com/repos/carbon-design-system/carbon-components/issues{/number}","pulls_url":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls{/number}","milestones_url":"https://api.github.com/repos/carbon-design-system/carbon-components/milestones{/number}","notifications_url":"https://api.github.com/repos/carbon-design-system/carbon-components/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/carbon-design-system/carbon-components/labels{/name}","releases_url":"https://api.github.com/repos/carbon-design-system/carbon-components/releases{/id}","deployments_url":"https://api.github.com/repos/carbon-design-system/carbon-components/deployments","created_at":"2017-03-13T14:23:59Z","updated_at":"2018-02-21T12:58:07Z","pushed_at":"2018-02-21T18:44:05Z","git_url":"git://github.com/carbon-design-system/carbon-components.git","ssh_url":"git@github.com:carbon-design-system/carbon-components.git","clone_url":"https://github.com/carbon-design-system/carbon-components.git","svn_url":"https://github.com/carbon-design-system/carbon-components","homepage":"http://www.carbondesignsystem.com","size":14122,"stargazers_count":667,"watchers_count":667,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":104,"mirror_url":null,"archived":false,"open_issues_count":52,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":104,"open_issues":52,"watchers":667,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599"},"html":{"href":"https://github.com/carbon-design-system/carbon-components/pull/599"},"issue":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/599"},"comments":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/issues/599/comments"},"review_comments":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599/comments"},"review_comment":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/pulls/599/commits"},"statuses":{"href":"https://api.github.com/repos/carbon-design-system/carbon-components/statuses/162b7776f154d54cba479d22133c5782ba49895b"}},"author_association":"OWNER"}}
{"actor":{"display_login":"joshblack"}}