{"action":"created","issue":{"url":"https://api.github.com/repos/Microsoft/fast-dna/issues/917","repository_url":"https://api.github.com/repos/Microsoft/fast-dna","labels_url":"https://api.github.com/repos/Microsoft/fast-dna/issues/917/labels{/name}","comments_url":"https://api.github.com/repos/Microsoft/fast-dna/issues/917/comments","events_url":"https://api.github.com/repos/Microsoft/fast-dna/issues/917/events","html_url":"https://github.com/Microsoft/fast-dna/issues/917","id":361845800,"node_id":"MDU6SXNzdWUzNjE4NDU4MDA=","number":917,"title":"Making IManagedClasses<T>.managedClasses optional","user":{"login":"prabashn","id":40579735,"node_id":"MDQ6VXNlcjQwNTc5NzM1","avatar_url":"https://avatars1.githubusercontent.com/u/40579735?v=4","gravatar_id":"","url":"https://api.github.com/users/prabashn","html_url":"https://github.com/prabashn","followers_url":"https://api.github.com/users/prabashn/followers","following_url":"https://api.github.com/users/prabashn/following{/other_user}","gists_url":"https://api.github.com/users/prabashn/gists{/gist_id}","starred_url":"https://api.github.com/users/prabashn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/prabashn/subscriptions","organizations_url":"https://api.github.com/users/prabashn/orgs","repos_url":"https://api.github.com/users/prabashn/repos","events_url":"https://api.github.com/users/prabashn/events{/privacy}","received_events_url":"https://api.github.com/users/prabashn/received_events","type":"User","site_admin":false},"labels":[{"id":854394939,"node_id":"MDU6TGFiZWw4NTQzOTQ5Mzk=","url":"https://api.github.com/repos/Microsoft/fast-dna/labels/issue%20:%20bug","name":"issue : bug","color":"b60205","default":false}],"state":"open","locked":false,"assignee":{"login":"nicholasrice","id":3213292,"node_id":"MDQ6VXNlcjMyMTMyOTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3213292?v=4","gravatar_id":"","url":"https://api.github.com/users/nicholasrice","html_url":"https://github.com/nicholasrice","followers_url":"https://api.github.com/users/nicholasrice/followers","following_url":"https://api.github.com/users/nicholasrice/following{/other_user}","gists_url":"https://api.github.com/users/nicholasrice/gists{/gist_id}","starred_url":"https://api.github.com/users/nicholasrice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicholasrice/subscriptions","organizations_url":"https://api.github.com/users/nicholasrice/orgs","repos_url":"https://api.github.com/users/nicholasrice/repos","events_url":"https://api.github.com/users/nicholasrice/events{/privacy}","received_events_url":"https://api.github.com/users/nicholasrice/received_events","type":"User","site_admin":false},"assignees":[{"login":"nicholasrice","id":3213292,"node_id":"MDQ6VXNlcjMyMTMyOTI=","avatar_url":"https://avatars2.githubusercontent.com/u/3213292?v=4","gravatar_id":"","url":"https://api.github.com/users/nicholasrice","html_url":"https://github.com/nicholasrice","followers_url":"https://api.github.com/users/nicholasrice/followers","following_url":"https://api.github.com/users/nicholasrice/following{/other_user}","gists_url":"https://api.github.com/users/nicholasrice/gists{/gist_id}","starred_url":"https://api.github.com/users/nicholasrice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicholasrice/subscriptions","organizations_url":"https://api.github.com/users/nicholasrice/orgs","repos_url":"https://api.github.com/users/nicholasrice/repos","events_url":"https://api.github.com/users/nicholasrice/events{/privacy}","received_events_url":"https://api.github.com/users/nicholasrice/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2018-09-19T17:15:21Z","updated_at":"2018-09-22T02:14:13Z","closed_at":null,"author_association":"NONE","body":"**What is your feature request? Please describe.**\r\nWhenever I have a child component from FAST, I like to use the prop contract types FAST defines. For example for a text field, I would use TextFieldProps, which look like this:\r\n\r\n    export declare type TextFieldProps = ITextFieldHandledProps & ITextFieldUnhandledProps & ITextFieldManagedClasses;\r\n\r\nNotice this type is composed of 3 types:\r\n1) ITextFieldHandledProps - all partial props\r\n2) ITextFieldUnhandledProps  - all partial props\r\n3) ITextFieldManagedClasses - not a partial. managedClasses is a required property.\r\n\r\n**Describe the solution you'd like**\r\nMaking IManagedClasses<T>.managedClasses optional so that when I need to create the prop object for a component, I don't need to keep passing in managedClasses: undefined (this is really problematic in unit tests for example).\r\n\r\n**Describe alternatives you've considered**\r\nAs a work-around I'm passing 'managedClasses: undefined' everywhere this crops up (usually in unit tests), but would love to clean up the code by removing that unnecessary part.\r\n\r\n**Additional context**\r\nN/A"},"comment":{"url":"https://api.github.com/repos/Microsoft/fast-dna/issues/comments/423709821","html_url":"https://github.com/Microsoft/fast-dna/issues/917#issuecomment-423709821","issue_url":"https://api.github.com/repos/Microsoft/fast-dna/issues/917","id":423709821,"node_id":"MDEyOklzc3VlQ29tbWVudDQyMzcwOTgyMQ==","user":{"login":"chrisdholt","id":13071055,"node_id":"MDQ6VXNlcjEzMDcxMDU1","avatar_url":"https://avatars2.githubusercontent.com/u/13071055?v=4","gravatar_id":"","url":"https://api.github.com/users/chrisdholt","html_url":"https://github.com/chrisdholt","followers_url":"https://api.github.com/users/chrisdholt/followers","following_url":"https://api.github.com/users/chrisdholt/following{/other_user}","gists_url":"https://api.github.com/users/chrisdholt/gists{/gist_id}","starred_url":"https://api.github.com/users/chrisdholt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrisdholt/subscriptions","organizations_url":"https://api.github.com/users/chrisdholt/orgs","repos_url":"https://api.github.com/users/chrisdholt/repos","events_url":"https://api.github.com/users/chrisdholt/events{/privacy}","received_events_url":"https://api.github.com/users/chrisdholt/received_events","type":"User","site_admin":false},"created_at":"2018-09-22T02:14:13Z","updated_at":"2018-09-22T02:14:13Z","author_association":"MEMBER","body":"I should've been more clear, sorry to confuse. I confused myself while typing it and again now reading it.\r\n```\r\nBase component = <Component managedClasses={required} />\r\n\r\nStyled component = <Component />\r\n```\r\n\r\nThe above aside though - as I don't think it matters much to the actual asks...\r\n\r\nI think we have two asks on this:\r\n\r\n1. In IManagedClasses<T>, don't require all classes/contracts\r\n2. In Union Type, don't include/require managed classes.\r\n\r\nCan you confirm?"}}
{"actor":{"display_login":"chrisdholt"}}