{"action":"created","issue":{"url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/626","labels_url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/626/labels{/name}","comments_url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/626/comments","events_url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/626/events","html_url":"https://github.com/react-bootstrap/react-bootstrap/pull/626","id":74141397,"number":626,"title":"Splitting Button, Reset, and Submit from Input","user":{"login":"aabenoja","id":3229671,"avatar_url":"https://avatars.githubusercontent.com/u/3229671?v=3","gravatar_id":"","url":"https://api.github.com/users/aabenoja","html_url":"https://github.com/aabenoja","followers_url":"https://api.github.com/users/aabenoja/followers","following_url":"https://api.github.com/users/aabenoja/following{/other_user}","gists_url":"https://api.github.com/users/aabenoja/gists{/gist_id}","starred_url":"https://api.github.com/users/aabenoja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aabenoja/subscriptions","organizations_url":"https://api.github.com/users/aabenoja/orgs","repos_url":"https://api.github.com/users/aabenoja/repos","events_url":"https://api.github.com/users/aabenoja/events{/privacy}","received_events_url":"https://api.github.com/users/aabenoja/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-05-07T21:55:45Z","updated_at":"2015-05-09T07:40:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/pulls/626","html_url":"https://github.com/react-bootstrap/react-bootstrap/pull/626","diff_url":"https://github.com/react-bootstrap/react-bootstrap/pull/626.diff","patch_url":"https://github.com/react-bootstrap/react-bootstrap/pull/626.patch"},"body":"* Introducing a new component `ButtonInput` to encapsulate the three aforementioned types.\r\n* A deprecation warning is thrown when `type=button`, `type=reset`, and `type=submit` are passed to `Input`.\r\n* Introducing private `InputBase` component so `Input` could return the new `Submit`.\r\n* The `InputTypes` sample uses the new component."},"comment":{"url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/comments/100441888","html_url":"https://github.com/react-bootstrap/react-bootstrap/pull/626#issuecomment-100441888","issue_url":"https://api.github.com/repos/react-bootstrap/react-bootstrap/issues/626","id":100441888,"user":{"login":"AlexKVal","id":847572,"avatar_url":"https://avatars.githubusercontent.com/u/847572?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexKVal","html_url":"https://github.com/AlexKVal","followers_url":"https://api.github.com/users/AlexKVal/followers","following_url":"https://api.github.com/users/AlexKVal/following{/other_user}","gists_url":"https://api.github.com/users/AlexKVal/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexKVal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexKVal/subscriptions","organizations_url":"https://api.github.com/users/AlexKVal/orgs","repos_url":"https://api.github.com/users/AlexKVal/repos","events_url":"https://api.github.com/users/AlexKVal/events{/privacy}","received_events_url":"https://api.github.com/users/AlexKVal/received_events","type":"User","site_admin":false},"created_at":"2015-05-09T07:40:45Z","updated_at":"2015-05-09T07:40:45Z","body":"I've slept on it and have written a proposal about more clear API here [Gitter](https://gitter.im/react-bootstrap/react-bootstrap?at=554db26f675c1d50549ec35a).\r\n\r\nAs for this compoment:\r\nI propose not to use ```<Button />``` as inner component for ```<ButtonInput />```.\r\nAnd use instead just ```<input type=[submit, button, reset] />```.\r\n\r\nIt will free @aabenoja hands from ```<Button />``` bugs heritage,\r\nand overall consequent maintenance at general,\r\nand will not introduce new subtle bugs,\r\nsuch as\r\nE.g: if I set `href` property\r\n```jsx\r\n<ButtonInput ... href=\"whatever\" />\r\n```\r\nby [this line](https://github.com/react-bootstrap/react-bootstrap/blob/6dfcf3688eea381578603634b22e8e700057ae25/src/Button.js#L41)\r\nthe new `ButtonInput` component is rendering via 'renderAnchor' function instead of 'renderButton'.\r\n\r\nLet's free `\\_O_/` new `ButtonInput` from old bugs of `Button` component :smiley: "}}