{"action":"closed","number":2193,"pull_request":{"url":"https://api.github.com/repos/ParabolInc/action/pulls/2193","id":193469839,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzNDY5ODM5","html_url":"https://github.com/ParabolInc/action/pull/2193","diff_url":"https://github.com/ParabolInc/action/pull/2193.diff","patch_url":"https://github.com/ParabolInc/action/pull/2193.patch","issue_url":"https://api.github.com/repos/ParabolInc/action/issues/2193","number":2193,"state":"closed","locked":false,"title":"Button refactor","user":{"login":"ackernaut","id":307286,"node_id":"MDQ6VXNlcjMwNzI4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/307286?v=4","gravatar_id":"","url":"https://api.github.com/users/ackernaut","html_url":"https://github.com/ackernaut","followers_url":"https://api.github.com/users/ackernaut/followers","following_url":"https://api.github.com/users/ackernaut/following{/other_user}","gists_url":"https://api.github.com/users/ackernaut/gists{/gist_id}","starred_url":"https://api.github.com/users/ackernaut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ackernaut/subscriptions","organizations_url":"https://api.github.com/users/ackernaut/orgs","repos_url":"https://api.github.com/users/ackernaut/repos","events_url":"https://api.github.com/users/ackernaut/events{/privacy}","received_events_url":"https://api.github.com/users/ackernaut/received_events","type":"User","site_admin":false},"body":"This addresses #1928 and is a WIP.\r\n\r\n### Changes\r\n- [x] `PlainButton` is a touch more plain\r\n- [x] `BaseButton` handles state including `pressedDown` and some shared style props including `depth` and `size`. Handling `depth` is helpful since we can manage that detail when `pressedDown`\r\n- [x] Adds styled `FlatButton`\r\n- [x] Adds styled `LinkButton`\r\n- [x] Adds styled `OutlinedButton`\r\n- [x] Adds styled `PrimaryButton`\r\n- [x] Adds styled `RaisedButton`\r\n- [x] Adds styled `CardButton` (yanks `OutcomeCardFooterButton`)\r\n- [x] Updates `IconButton`\r\n- [x] Adds `IconLabel` for consistent usage of `icon + label` per design. Buttons no longer handle icon and label as children, just `children`\r\n- [x] Updates button instances everywhere\r\n- [x] Moves a lot of components from `aphrodite` to `emotion` so we can make `StyledButton` components (and we need to migrate as we go anyway)\r\n`current count: emotion 182 files : aphrodite 85 files`\r\n- [x] Tweaks a few obvious button design choices\r\n- [x] Fixes toggle focus when escaping or tabbing to close an open menu on a styled button component\r\n\r\n#### Todo (maybe defer to design cycles on specific views)\r\n- 🚫 Normalizes design choices (eg. when to used `RaisedButton` set to `warm` etc.) see #2232 \r\n\r\n### Test\r\n- [ ] Go to every view (by UX case) and use the button (see integration test below, also, updating the test to be exhaustive)\r\n- [ ] Notifications by type\r\n- [ ] User dash\r\n- [ ] User settings\r\n- [ ] Team dash\r\n- [ ] Team settings\r\n- [ ] Org settings\r\n- [ ] Action meeting\r\n- [ ] Retro meeting\r\n- [ ] Card link editor\r\n- [ ] Card link viewer\r\n- [ ] Sign in\r\n- [ ] Sign up\r\n- [ ] Reset password\r\n- [ ] New team form\r\n- [ ] Welcome wizard","created_at":"2018-06-07T23:00:41Z","updated_at":"2018-06-26T16:40:44Z","closed_at":"2018-06-26T16:40:44Z","merged_at":"2018-06-26T16:40:44Z","merge_commit_sha":"2ef2ecd7fd1d8a0de7a8af1ee40aa6aa7e6f64af","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ParabolInc/action/pulls/2193/commits","review_comments_url":"https://api.github.com/repos/ParabolInc/action/pulls/2193/comments","review_comment_url":"https://api.github.com/repos/ParabolInc/action/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ParabolInc/action/issues/2193/comments","statuses_url":"https://api.github.com/repos/ParabolInc/action/statuses/528363633b82c9e810c6ab77f757ba4cf552883d","head":{"label":"ParabolInc:1928-refactored-button-components","ref":"1928-refactored-button-components","sha":"528363633b82c9e810c6ab77f757ba4cf552883d","user":{"login":"ParabolInc","id":14169569,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTY5NTY5","avatar_url":"https://avatars1.githubusercontent.com/u/14169569?v=4","gravatar_id":"","url":"https://api.github.com/users/ParabolInc","html_url":"https://github.com/ParabolInc","followers_url":"https://api.github.com/users/ParabolInc/followers","following_url":"https://api.github.com/users/ParabolInc/following{/other_user}","gists_url":"https://api.github.com/users/ParabolInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ParabolInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ParabolInc/subscriptions","organizations_url":"https://api.github.com/users/ParabolInc/orgs","repos_url":"https://api.github.com/users/ParabolInc/repos","events_url":"https://api.github.com/users/ParabolInc/events{/privacy}","received_events_url":"https://api.github.com/users/ParabolInc/received_events","type":"Organization","site_admin":false},"repo":{"id":48384473,"node_id":"MDEwOlJlcG9zaXRvcnk0ODM4NDQ3Mw==","name":"action","full_name":"ParabolInc/action","owner":{"login":"ParabolInc","id":14169569,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTY5NTY5","avatar_url":"https://avatars1.githubusercontent.com/u/14169569?v=4","gravatar_id":"","url":"https://api.github.com/users/ParabolInc","html_url":"https://github.com/ParabolInc","followers_url":"https://api.github.com/users/ParabolInc/followers","following_url":"https://api.github.com/users/ParabolInc/following{/other_user}","gists_url":"https://api.github.com/users/ParabolInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ParabolInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ParabolInc/subscriptions","organizations_url":"https://api.github.com/users/ParabolInc/orgs","repos_url":"https://api.github.com/users/ParabolInc/repos","events_url":"https://api.github.com/users/ParabolInc/events{/privacy}","received_events_url":"https://api.github.com/users/ParabolInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ParabolInc/action","description":"A multiplayer web application for building smarter, more agile teams.","fork":false,"url":"https://api.github.com/repos/ParabolInc/action","forks_url":"https://api.github.com/repos/ParabolInc/action/forks","keys_url":"https://api.github.com/repos/ParabolInc/action/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ParabolInc/action/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ParabolInc/action/teams","hooks_url":"https://api.github.com/repos/ParabolInc/action/hooks","issue_events_url":"https://api.github.com/repos/ParabolInc/action/issues/events{/number}","events_url":"https://api.github.com/repos/ParabolInc/action/events","assignees_url":"https://api.github.com/repos/ParabolInc/action/assignees{/user}","branches_url":"https://api.github.com/repos/ParabolInc/action/branches{/branch}","tags_url":"https://api.github.com/repos/ParabolInc/action/tags","blobs_url":"https://api.github.com/repos/ParabolInc/action/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ParabolInc/action/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ParabolInc/action/git/refs{/sha}","trees_url":"https://api.github.com/repos/ParabolInc/action/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ParabolInc/action/statuses/{sha}","languages_url":"https://api.github.com/repos/ParabolInc/action/languages","stargazers_url":"https://api.github.com/repos/ParabolInc/action/stargazers","contributors_url":"https://api.github.com/repos/ParabolInc/action/contributors","subscribers_url":"https://api.github.com/repos/ParabolInc/action/subscribers","subscription_url":"https://api.github.com/repos/ParabolInc/action/subscription","commits_url":"https://api.github.com/repos/ParabolInc/action/commits{/sha}","git_commits_url":"https://api.github.com/repos/ParabolInc/action/git/commits{/sha}","comments_url":"https://api.github.com/repos/ParabolInc/action/comments{/number}","issue_comment_url":"https://api.github.com/repos/ParabolInc/action/issues/comments{/number}","contents_url":"https://api.github.com/repos/ParabolInc/action/contents/{+path}","compare_url":"https://api.github.com/repos/ParabolInc/action/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ParabolInc/action/merges","archive_url":"https://api.github.com/repos/ParabolInc/action/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ParabolInc/action/downloads","issues_url":"https://api.github.com/repos/ParabolInc/action/issues{/number}","pulls_url":"https://api.github.com/repos/ParabolInc/action/pulls{/number}","milestones_url":"https://api.github.com/repos/ParabolInc/action/milestones{/number}","notifications_url":"https://api.github.com/repos/ParabolInc/action/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ParabolInc/action/labels{/name}","releases_url":"https://api.github.com/repos/ParabolInc/action/releases{/id}","deployments_url":"https://api.github.com/repos/ParabolInc/action/deployments","created_at":"2015-12-21T17:16:49Z","updated_at":"2018-06-26T13:23:21Z","pushed_at":"2018-06-26T16:40:44Z","git_url":"git://github.com/ParabolInc/action.git","ssh_url":"git@github.com:ParabolInc/action.git","clone_url":"https://github.com/ParabolInc/action.git","svn_url":"https://github.com/ParabolInc/action","homepage":"http://parabol.co/","size":35599,"stargazers_count":540,"watchers_count":540,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":99,"mirror_url":null,"archived":false,"open_issues_count":272,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":99,"open_issues":272,"watchers":540,"default_branch":"master"}},"base":{"label":"ParabolInc:master","ref":"master","sha":"5d5ab295627993ad3cbf513cbf6772194f48eba8","user":{"login":"ParabolInc","id":14169569,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTY5NTY5","avatar_url":"https://avatars1.githubusercontent.com/u/14169569?v=4","gravatar_id":"","url":"https://api.github.com/users/ParabolInc","html_url":"https://github.com/ParabolInc","followers_url":"https://api.github.com/users/ParabolInc/followers","following_url":"https://api.github.com/users/ParabolInc/following{/other_user}","gists_url":"https://api.github.com/users/ParabolInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ParabolInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ParabolInc/subscriptions","organizations_url":"https://api.github.com/users/ParabolInc/orgs","repos_url":"https://api.github.com/users/ParabolInc/repos","events_url":"https://api.github.com/users/ParabolInc/events{/privacy}","received_events_url":"https://api.github.com/users/ParabolInc/received_events","type":"Organization","site_admin":false},"repo":{"id":48384473,"node_id":"MDEwOlJlcG9zaXRvcnk0ODM4NDQ3Mw==","name":"action","full_name":"ParabolInc/action","owner":{"login":"ParabolInc","id":14169569,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE0MTY5NTY5","avatar_url":"https://avatars1.githubusercontent.com/u/14169569?v=4","gravatar_id":"","url":"https://api.github.com/users/ParabolInc","html_url":"https://github.com/ParabolInc","followers_url":"https://api.github.com/users/ParabolInc/followers","following_url":"https://api.github.com/users/ParabolInc/following{/other_user}","gists_url":"https://api.github.com/users/ParabolInc/gists{/gist_id}","starred_url":"https://api.github.com/users/ParabolInc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ParabolInc/subscriptions","organizations_url":"https://api.github.com/users/ParabolInc/orgs","repos_url":"https://api.github.com/users/ParabolInc/repos","events_url":"https://api.github.com/users/ParabolInc/events{/privacy}","received_events_url":"https://api.github.com/users/ParabolInc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ParabolInc/action","description":"A multiplayer web application for building smarter, more agile teams.","fork":false,"url":"https://api.github.com/repos/ParabolInc/action","forks_url":"https://api.github.com/repos/ParabolInc/action/forks","keys_url":"https://api.github.com/repos/ParabolInc/action/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ParabolInc/action/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ParabolInc/action/teams","hooks_url":"https://api.github.com/repos/ParabolInc/action/hooks","issue_events_url":"https://api.github.com/repos/ParabolInc/action/issues/events{/number}","events_url":"https://api.github.com/repos/ParabolInc/action/events","assignees_url":"https://api.github.com/repos/ParabolInc/action/assignees{/user}","branches_url":"https://api.github.com/repos/ParabolInc/action/branches{/branch}","tags_url":"https://api.github.com/repos/ParabolInc/action/tags","blobs_url":"https://api.github.com/repos/ParabolInc/action/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ParabolInc/action/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ParabolInc/action/git/refs{/sha}","trees_url":"https://api.github.com/repos/ParabolInc/action/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ParabolInc/action/statuses/{sha}","languages_url":"https://api.github.com/repos/ParabolInc/action/languages","stargazers_url":"https://api.github.com/repos/ParabolInc/action/stargazers","contributors_url":"https://api.github.com/repos/ParabolInc/action/contributors","subscribers_url":"https://api.github.com/repos/ParabolInc/action/subscribers","subscription_url":"https://api.github.com/repos/ParabolInc/action/subscription","commits_url":"https://api.github.com/repos/ParabolInc/action/commits{/sha}","git_commits_url":"https://api.github.com/repos/ParabolInc/action/git/commits{/sha}","comments_url":"https://api.github.com/repos/ParabolInc/action/comments{/number}","issue_comment_url":"https://api.github.com/repos/ParabolInc/action/issues/comments{/number}","contents_url":"https://api.github.com/repos/ParabolInc/action/contents/{+path}","compare_url":"https://api.github.com/repos/ParabolInc/action/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ParabolInc/action/merges","archive_url":"https://api.github.com/repos/ParabolInc/action/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ParabolInc/action/downloads","issues_url":"https://api.github.com/repos/ParabolInc/action/issues{/number}","pulls_url":"https://api.github.com/repos/ParabolInc/action/pulls{/number}","milestones_url":"https://api.github.com/repos/ParabolInc/action/milestones{/number}","notifications_url":"https://api.github.com/repos/ParabolInc/action/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ParabolInc/action/labels{/name}","releases_url":"https://api.github.com/repos/ParabolInc/action/releases{/id}","deployments_url":"https://api.github.com/repos/ParabolInc/action/deployments","created_at":"2015-12-21T17:16:49Z","updated_at":"2018-06-26T13:23:21Z","pushed_at":"2018-06-26T16:40:44Z","git_url":"git://github.com/ParabolInc/action.git","ssh_url":"git@github.com:ParabolInc/action.git","clone_url":"https://github.com/ParabolInc/action.git","svn_url":"https://github.com/ParabolInc/action","homepage":"http://parabol.co/","size":35599,"stargazers_count":540,"watchers_count":540,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":99,"mirror_url":null,"archived":false,"open_issues_count":272,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":99,"open_issues":272,"watchers":540,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ParabolInc/action/pulls/2193"},"html":{"href":"https://github.com/ParabolInc/action/pull/2193"},"issue":{"href":"https://api.github.com/repos/ParabolInc/action/issues/2193"},"comments":{"href":"https://api.github.com/repos/ParabolInc/action/issues/2193/comments"},"review_comments":{"href":"https://api.github.com/repos/ParabolInc/action/pulls/2193/comments"},"review_comment":{"href":"https://api.github.com/repos/ParabolInc/action/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ParabolInc/action/pulls/2193/commits"},"statuses":{"href":"https://api.github.com/repos/ParabolInc/action/statuses/528363633b82c9e810c6ab77f757ba4cf552883d"}},"author_association":"MEMBER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"ackernaut","id":307286,"node_id":"MDQ6VXNlcjMwNzI4Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/307286?v=4","gravatar_id":"","url":"https://api.github.com/users/ackernaut","html_url":"https://github.com/ackernaut","followers_url":"https://api.github.com/users/ackernaut/followers","following_url":"https://api.github.com/users/ackernaut/following{/other_user}","gists_url":"https://api.github.com/users/ackernaut/gists{/gist_id}","starred_url":"https://api.github.com/users/ackernaut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ackernaut/subscriptions","organizations_url":"https://api.github.com/users/ackernaut/orgs","repos_url":"https://api.github.com/users/ackernaut/repos","events_url":"https://api.github.com/users/ackernaut/events{/privacy}","received_events_url":"https://api.github.com/users/ackernaut/received_events","type":"User","site_admin":false},"comments":14,"review_comments":15,"maintainer_can_modify":false,"commits":32,"additions":2059,"deletions":2978,"changed_files":113}}
{"actor":{"display_login":"ackernaut"}}