{"action":"created","issue":{"url":"https://api.github.com/repos/grommet/grommet/issues/2495","repository_url":"https://api.github.com/repos/grommet/grommet","labels_url":"https://api.github.com/repos/grommet/grommet/issues/2495/labels{/name}","comments_url":"https://api.github.com/repos/grommet/grommet/issues/2495/comments","events_url":"https://api.github.com/repos/grommet/grommet/issues/2495/events","html_url":"https://github.com/grommet/grommet/issues/2495","id":385013404,"node_id":"MDU6SXNzdWUzODUwMTM0MDQ=","number":2495,"title":"SyntaxInput proposal","user":{"login":"ericsoderberghp","id":11637956,"node_id":"MDQ6VXNlcjExNjM3OTU2","avatar_url":"https://avatars0.githubusercontent.com/u/11637956?v=4","gravatar_id":"","url":"https://api.github.com/users/ericsoderberghp","html_url":"https://github.com/ericsoderberghp","followers_url":"https://api.github.com/users/ericsoderberghp/followers","following_url":"https://api.github.com/users/ericsoderberghp/following{/other_user}","gists_url":"https://api.github.com/users/ericsoderberghp/gists{/gist_id}","starred_url":"https://api.github.com/users/ericsoderberghp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ericsoderberghp/subscriptions","organizations_url":"https://api.github.com/users/ericsoderberghp/orgs","repos_url":"https://api.github.com/users/ericsoderberghp/repos","events_url":"https://api.github.com/users/ericsoderberghp/events{/privacy}","received_events_url":"https://api.github.com/users/ericsoderberghp/received_events","type":"User","site_admin":false},"labels":[{"id":1060011796,"node_id":"MDU6TGFiZWwxMDYwMDExNzk2","url":"https://api.github.com/repos/grommet/grommet/labels/enhancement","name":"enhancement","color":"efaedf","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-11-27T22:23:47Z","updated_at":"2018-11-27T22:42:19Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"This is a proposal for a new component in grommet version 2. The purpose of the component is to simplify the experience of adding text data that requires a certain syntax, such as IP addresses, data and time strings, etc.\r\n\r\nSome notable aspects:\r\n- The caller would specify a `schema` describing the available syntax.\r\n- A placeholder will be generated if one isn't provided.\r\n- The user could tab between input segments.\r\n- The user does not have to type the separator characters but they will be allowed to if they want to.\r\n- Any options would be rendered as a drop down when the user is interacting with a particular segment.\r\n- The user could paste an entire value and it will be coerced into the schema if possible.\r\n\r\nHere is an example of using the component to capture a time value:\r\n```\r\n<SyntaxInput\r\n  schema={[\r\n    {\r\n      length: 2,\r\n      options: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'],\r\n      placeholder: 'hh',\r\n    },\r\n    { separator: ':' },\r\n    {\r\n      length: 2,\r\n      options: ['00', '15', '30', '45'],\r\n      placeholder: 'mm',\r\n    },\r\n    { separator: ' ' },\r\n    {\r\n      length: 2,\r\n      options: ['am', 'pm'],\r\n      placeholder: 'ap',\r\n    }\r\n  ]}\r\n  value={value}\r\n  onChange={this.onChange}\r\n/>\r\n```\r\n\r\nPlease let us know if this is of interest and any feedback you might have.\r\n"},"comment":{"url":"https://api.github.com/repos/grommet/grommet/issues/comments/442246277","html_url":"https://github.com/grommet/grommet/issues/2495#issuecomment-442246277","issue_url":"https://api.github.com/repos/grommet/grommet/issues/2495","id":442246277,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0MjI0NjI3Nw==","user":{"login":"alansouzati","id":1207250,"node_id":"MDQ6VXNlcjEyMDcyNTA=","avatar_url":"https://avatars1.githubusercontent.com/u/1207250?v=4","gravatar_id":"","url":"https://api.github.com/users/alansouzati","html_url":"https://github.com/alansouzati","followers_url":"https://api.github.com/users/alansouzati/followers","following_url":"https://api.github.com/users/alansouzati/following{/other_user}","gists_url":"https://api.github.com/users/alansouzati/gists{/gist_id}","starred_url":"https://api.github.com/users/alansouzati/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alansouzati/subscriptions","organizations_url":"https://api.github.com/users/alansouzati/orgs","repos_url":"https://api.github.com/users/alansouzati/repos","events_url":"https://api.github.com/users/alansouzati/events{/privacy}","received_events_url":"https://api.github.com/users/alansouzati/received_events","type":"User","site_admin":false},"created_at":"2018-11-27T22:42:19Z","updated_at":"2018-11-27T22:42:19Z","author_association":"MEMBER","body":"it would be great to have it exposed in a codesandbox that we can play with "}}
{"actor":{"display_login":"alansouzati"}}