{"action":"created","issue":{"url":"https://api.github.com/repos/google/material-design-lite/issues/1882","repository_url":"https://api.github.com/repos/google/material-design-lite","labels_url":"https://api.github.com/repos/google/material-design-lite/issues/1882/labels{/name}","comments_url":"https://api.github.com/repos/google/material-design-lite/issues/1882/comments","events_url":"https://api.github.com/repos/google/material-design-lite/issues/1882/events","html_url":"https://github.com/google/material-design-lite/issues/1882","id":116767761,"number":1882,"title":"State classes don't align to BEM","user":{"login":"Garbee","id":868301,"avatar_url":"https://avatars.githubusercontent.com/u/868301?v=3","gravatar_id":"","url":"https://api.github.com/users/Garbee","html_url":"https://github.com/Garbee","followers_url":"https://api.github.com/users/Garbee/followers","following_url":"https://api.github.com/users/Garbee/following{/other_user}","gists_url":"https://api.github.com/users/Garbee/gists{/gist_id}","starred_url":"https://api.github.com/users/Garbee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Garbee/subscriptions","organizations_url":"https://api.github.com/users/Garbee/orgs","repos_url":"https://api.github.com/users/Garbee/repos","events_url":"https://api.github.com/users/Garbee/events{/privacy}","received_events_url":"https://api.github.com/users/Garbee/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/google/material-design-lite/labels/BC%20Break","name":"BC Break","color":"e11d21"},{"url":"https://api.github.com/repos/google/material-design-lite/labels/Textfield","name":"Textfield","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/google/material-design-lite/milestones/6","html_url":"https://github.com/google/material-design-lite/milestones/V2","labels_url":"https://api.github.com/repos/google/material-design-lite/milestones/6/labels","id":1235462,"number":6,"title":"V2","description":"","creator":{"login":"addyosmani","id":110953,"avatar_url":"https://avatars.githubusercontent.com/u/110953?v=3","gravatar_id":"","url":"https://api.github.com/users/addyosmani","html_url":"https://github.com/addyosmani","followers_url":"https://api.github.com/users/addyosmani/followers","following_url":"https://api.github.com/users/addyosmani/following{/other_user}","gists_url":"https://api.github.com/users/addyosmani/gists{/gist_id}","starred_url":"https://api.github.com/users/addyosmani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/addyosmani/subscriptions","organizations_url":"https://api.github.com/users/addyosmani/orgs","repos_url":"https://api.github.com/users/addyosmani/repos","events_url":"https://api.github.com/users/addyosmani/events{/privacy}","received_events_url":"https://api.github.com/users/addyosmani/received_events","type":"User","site_admin":false},"open_issues":60,"closed_issues":15,"state":"open","created_at":"2015-07-31T17:16:39Z","updated_at":"2016-03-09T16:07:59Z","due_on":"2016-05-17T23:00:00Z","closed_at":null},"comments":57,"created_at":"2015-11-13T13:22:36Z","updated_at":"2016-03-16T05:12:33Z","closed_at":null,"body":"We have things like `is-invalid`, `is-dirty`, and `is-disabled` on textfield for example. This should instead be `mdl-textfield--invalid`, `mdl-textfield--dirty`, and `mdl-textfield--disabled` respectively for proper BEM structure.\r\n\r\nThis goes across any components where state classes exist."},"comment":{"url":"https://api.github.com/repos/google/material-design-lite/issues/comments/197156719","html_url":"https://github.com/google/material-design-lite/issues/1882#issuecomment-197156719","issue_url":"https://api.github.com/repos/google/material-design-lite/issues/1882","id":197156719,"user":{"login":"kevinglover","id":2983582,"avatar_url":"https://avatars.githubusercontent.com/u/2983582?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinglover","html_url":"https://github.com/kevinglover","followers_url":"https://api.github.com/users/kevinglover/followers","following_url":"https://api.github.com/users/kevinglover/following{/other_user}","gists_url":"https://api.github.com/users/kevinglover/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinglover/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinglover/subscriptions","organizations_url":"https://api.github.com/users/kevinglover/orgs","repos_url":"https://api.github.com/users/kevinglover/repos","events_url":"https://api.github.com/users/kevinglover/events{/privacy}","received_events_url":"https://api.github.com/users/kevinglover/received_events","type":"User","site_admin":false},"created_at":"2016-03-16T05:12:33Z","updated_at":"2016-03-16T05:12:33Z","body":"I know this is a little late to the party, but I just wanted to throw my 2c into the ring.\r\n\r\nIt seems to me that having state classes prefixed with `is-` would be very helpful to indicate that a module has been modified in some way by application logic, be it server-side code or JavaScript. These states would be scoped to the appropriate context as to not interfere with other rules. This approach would work very well with the Sass composition and, I believe, make the intent of the code clearer, which is the most advantageous aspect of BEM. \r\n\r\nI also think it's amazing how active the conversation had been on this issue!"}}