{"action":"created","comment":{"url":"https://api.github.com/repos/Starcounter/Docs/pulls/comments/195727851","pull_request_review_id":129156125,"id":195727851,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NTcyNzg1MQ==","diff_hunk":"@@ -0,0 +1,90 @@\n+# Uniform Design System\n+\n+## Introduction\n+\n+Uniform design system is a user interface toolkit created by Starcounter. It gives a common look and feel to blendable apps. It is a link between app authors and solution owners.\n+\n+Unlike many design systems, Uniform is open-ended and themeable. It can be configured, extended or replaced in parts to achieve anything that is possible with HTML, CSS, and JavaScript.\n+\n+## Mental model of client-side rendering by the Starcounter host\n+\n+Starcounter host follows a layered design that separates the responsibilities of the app author, the design system and the solution owner. Uniform fits in this design as the middle layer. \n+\n+The full design consists of:\n+\n+1. Native HTML5 and Shadow DOM\n+2. Uniform design system\n+3. Theme configuration through CSS custom properties\n+4. Extend or replace the theme with HTML, CSS, and JavaScript\n+\n+### Native HTML5 and Shadow DOM\n+\n+As an app author, you provide the views for your apps with a clear separation of the content and the presentation.\n+\n+In the content part, you provide the UI components that should be rendered by the Starcounter host as unstyled native HTML5 elements. \n+\n+To prevent the Starcounter host from controlling the rendering of a UI component, you can use shadow DOM, preferably in a custom element. The shadow root creates a boundary that blocks the Starcounter host's attempt to apply the look and feel on your components automatically.","path":"docs/topic-guides/blendable-web-apps/uniform-design-system.md","position":26,"original_position":26,"commit_id":"82c3af002191789b420a52e00c69afe97f0f22ff","original_commit_id":"82c3af002191789b420a52e00c69afe97f0f22ff","user":{"login":"tomalec","id":17435,"node_id":"MDQ6VXNlcjE3NDM1","avatar_url":"https://avatars1.githubusercontent.com/u/17435?v=4","gravatar_id":"","url":"https://api.github.com/users/tomalec","html_url":"https://github.com/tomalec","followers_url":"https://api.github.com/users/tomalec/followers","following_url":"https://api.github.com/users/tomalec/following{/other_user}","gists_url":"https://api.github.com/users/tomalec/gists{/gist_id}","starred_url":"https://api.github.com/users/tomalec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomalec/subscriptions","organizations_url":"https://api.github.com/users/tomalec/orgs","repos_url":"https://api.github.com/users/tomalec/repos","events_url":"https://api.github.com/users/tomalec/events{/privacy}","received_events_url":"https://api.github.com/users/tomalec/received_events","type":"User","site_admin":false},"body":"Also, this paragraph seems to me like an exceptional case to do advanced things, and it's placed at the beginning before the basics were even briefly described.","created_at":"2018-06-15T13:14:08Z","updated_at":"2018-06-15T13:41:49Z","html_url":"https://github.com/Starcounter/Docs/pull/232#discussion_r195727851","pull_request_url":"https://api.github.com/repos/Starcounter/Docs/pulls/232","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/comments/195727851"},"html":{"href":"https://github.com/Starcounter/Docs/pull/232#discussion_r195727851"},"pull_request":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/232"}},"in_reply_to_id":195727540},"pull_request":{"url":"https://api.github.com/repos/Starcounter/Docs/pulls/232","id":192267121,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyMjY3MTIx","html_url":"https://github.com/Starcounter/Docs/pull/232","diff_url":"https://github.com/Starcounter/Docs/pull/232.diff","patch_url":"https://github.com/Starcounter/Docs/pull/232.patch","issue_url":"https://api.github.com/repos/Starcounter/Docs/issues/232","number":232,"state":"open","locked":false,"title":" Add docs about theming and customization","user":{"login":"tomalec","id":17435,"node_id":"MDQ6VXNlcjE3NDM1","avatar_url":"https://avatars1.githubusercontent.com/u/17435?v=4","gravatar_id":"","url":"https://api.github.com/users/tomalec","html_url":"https://github.com/tomalec","followers_url":"https://api.github.com/users/tomalec/followers","following_url":"https://api.github.com/users/tomalec/following{/other_user}","gists_url":"https://api.github.com/users/tomalec/gists{/gist_id}","starred_url":"https://api.github.com/users/tomalec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomalec/subscriptions","organizations_url":"https://api.github.com/users/tomalec/orgs","repos_url":"https://api.github.com/users/tomalec/repos","events_url":"https://api.github.com/users/tomalec/events{/privacy}","received_events_url":"https://api.github.com/users/tomalec/received_events","type":"User","site_admin":false},"body":"of Uniform Components and Solution's design\r\nhttps://github.com/Starcounter/uniform.css/issues/80","created_at":"2018-06-03T21:00:26Z","updated_at":"2018-06-15T13:41:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8dac510cf201a62355a84e960b8ecdbdd92f2647","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Starcounter/Docs/pulls/232/commits","review_comments_url":"https://api.github.com/repos/Starcounter/Docs/pulls/232/comments","review_comment_url":"https://api.github.com/repos/Starcounter/Docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Starcounter/Docs/issues/232/comments","statuses_url":"https://api.github.com/repos/Starcounter/Docs/statuses/82c3af002191789b420a52e00c69afe97f0f22ff","head":{"label":"Starcounter:uniform.css/issues/80-docs-about-theming","ref":"uniform.css/issues/80-docs-about-theming","sha":"82c3af002191789b420a52e00c69afe97f0f22ff","user":{"login":"Starcounter","id":1219066,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMTkwNjY=","avatar_url":"https://avatars3.githubusercontent.com/u/1219066?v=4","gravatar_id":"","url":"https://api.github.com/users/Starcounter","html_url":"https://github.com/Starcounter","followers_url":"https://api.github.com/users/Starcounter/followers","following_url":"https://api.github.com/users/Starcounter/following{/other_user}","gists_url":"https://api.github.com/users/Starcounter/gists{/gist_id}","starred_url":"https://api.github.com/users/Starcounter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Starcounter/subscriptions","organizations_url":"https://api.github.com/users/Starcounter/orgs","repos_url":"https://api.github.com/users/Starcounter/repos","events_url":"https://api.github.com/users/Starcounter/events{/privacy}","received_events_url":"https://api.github.com/users/Starcounter/received_events","type":"Organization","site_admin":false},"repo":{"id":76037069,"node_id":"MDEwOlJlcG9zaXRvcnk3NjAzNzA2OQ==","name":"Docs","full_name":"Starcounter/Docs","owner":{"login":"Starcounter","id":1219066,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMTkwNjY=","avatar_url":"https://avatars3.githubusercontent.com/u/1219066?v=4","gravatar_id":"","url":"https://api.github.com/users/Starcounter","html_url":"https://github.com/Starcounter","followers_url":"https://api.github.com/users/Starcounter/followers","following_url":"https://api.github.com/users/Starcounter/following{/other_user}","gists_url":"https://api.github.com/users/Starcounter/gists{/gist_id}","starred_url":"https://api.github.com/users/Starcounter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Starcounter/subscriptions","organizations_url":"https://api.github.com/users/Starcounter/orgs","repos_url":"https://api.github.com/users/Starcounter/repos","events_url":"https://api.github.com/users/Starcounter/events{/privacy}","received_events_url":"https://api.github.com/users/Starcounter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Starcounter/Docs","description":"Starcounter GitBook-driven documentation","fork":false,"url":"https://api.github.com/repos/Starcounter/Docs","forks_url":"https://api.github.com/repos/Starcounter/Docs/forks","keys_url":"https://api.github.com/repos/Starcounter/Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Starcounter/Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Starcounter/Docs/teams","hooks_url":"https://api.github.com/repos/Starcounter/Docs/hooks","issue_events_url":"https://api.github.com/repos/Starcounter/Docs/issues/events{/number}","events_url":"https://api.github.com/repos/Starcounter/Docs/events","assignees_url":"https://api.github.com/repos/Starcounter/Docs/assignees{/user}","branches_url":"https://api.github.com/repos/Starcounter/Docs/branches{/branch}","tags_url":"https://api.github.com/repos/Starcounter/Docs/tags","blobs_url":"https://api.github.com/repos/Starcounter/Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Starcounter/Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Starcounter/Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/Starcounter/Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Starcounter/Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/Starcounter/Docs/languages","stargazers_url":"https://api.github.com/repos/Starcounter/Docs/stargazers","contributors_url":"https://api.github.com/repos/Starcounter/Docs/contributors","subscribers_url":"https://api.github.com/repos/Starcounter/Docs/subscribers","subscription_url":"https://api.github.com/repos/Starcounter/Docs/subscription","commits_url":"https://api.github.com/repos/Starcounter/Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/Starcounter/Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/Starcounter/Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/Starcounter/Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/Starcounter/Docs/contents/{+path}","compare_url":"https://api.github.com/repos/Starcounter/Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Starcounter/Docs/merges","archive_url":"https://api.github.com/repos/Starcounter/Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Starcounter/Docs/downloads","issues_url":"https://api.github.com/repos/Starcounter/Docs/issues{/number}","pulls_url":"https://api.github.com/repos/Starcounter/Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/Starcounter/Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/Starcounter/Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Starcounter/Docs/labels{/name}","releases_url":"https://api.github.com/repos/Starcounter/Docs/releases{/id}","deployments_url":"https://api.github.com/repos/Starcounter/Docs/deployments","created_at":"2016-12-09T13:19:49Z","updated_at":"2018-06-12T11:09:49Z","pushed_at":"2018-06-14T22:06:59Z","git_url":"git://github.com/Starcounter/Docs.git","ssh_url":"git@github.com:Starcounter/Docs.git","clone_url":"https://github.com/Starcounter/Docs.git","svn_url":"https://github.com/Starcounter/Docs","homepage":"https://docs.starcounter.io/","size":16986,"stargazers_count":1,"watchers_count":1,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":43,"license":null,"forks":4,"open_issues":43,"watchers":1,"default_branch":"2.4"}},"base":{"label":"Starcounter:2.4","ref":"2.4","sha":"f30ab1aca713e763a68b05526dee9c7264f85c6d","user":{"login":"Starcounter","id":1219066,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMTkwNjY=","avatar_url":"https://avatars3.githubusercontent.com/u/1219066?v=4","gravatar_id":"","url":"https://api.github.com/users/Starcounter","html_url":"https://github.com/Starcounter","followers_url":"https://api.github.com/users/Starcounter/followers","following_url":"https://api.github.com/users/Starcounter/following{/other_user}","gists_url":"https://api.github.com/users/Starcounter/gists{/gist_id}","starred_url":"https://api.github.com/users/Starcounter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Starcounter/subscriptions","organizations_url":"https://api.github.com/users/Starcounter/orgs","repos_url":"https://api.github.com/users/Starcounter/repos","events_url":"https://api.github.com/users/Starcounter/events{/privacy}","received_events_url":"https://api.github.com/users/Starcounter/received_events","type":"Organization","site_admin":false},"repo":{"id":76037069,"node_id":"MDEwOlJlcG9zaXRvcnk3NjAzNzA2OQ==","name":"Docs","full_name":"Starcounter/Docs","owner":{"login":"Starcounter","id":1219066,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyMTkwNjY=","avatar_url":"https://avatars3.githubusercontent.com/u/1219066?v=4","gravatar_id":"","url":"https://api.github.com/users/Starcounter","html_url":"https://github.com/Starcounter","followers_url":"https://api.github.com/users/Starcounter/followers","following_url":"https://api.github.com/users/Starcounter/following{/other_user}","gists_url":"https://api.github.com/users/Starcounter/gists{/gist_id}","starred_url":"https://api.github.com/users/Starcounter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Starcounter/subscriptions","organizations_url":"https://api.github.com/users/Starcounter/orgs","repos_url":"https://api.github.com/users/Starcounter/repos","events_url":"https://api.github.com/users/Starcounter/events{/privacy}","received_events_url":"https://api.github.com/users/Starcounter/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Starcounter/Docs","description":"Starcounter GitBook-driven documentation","fork":false,"url":"https://api.github.com/repos/Starcounter/Docs","forks_url":"https://api.github.com/repos/Starcounter/Docs/forks","keys_url":"https://api.github.com/repos/Starcounter/Docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Starcounter/Docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Starcounter/Docs/teams","hooks_url":"https://api.github.com/repos/Starcounter/Docs/hooks","issue_events_url":"https://api.github.com/repos/Starcounter/Docs/issues/events{/number}","events_url":"https://api.github.com/repos/Starcounter/Docs/events","assignees_url":"https://api.github.com/repos/Starcounter/Docs/assignees{/user}","branches_url":"https://api.github.com/repos/Starcounter/Docs/branches{/branch}","tags_url":"https://api.github.com/repos/Starcounter/Docs/tags","blobs_url":"https://api.github.com/repos/Starcounter/Docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Starcounter/Docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Starcounter/Docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/Starcounter/Docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Starcounter/Docs/statuses/{sha}","languages_url":"https://api.github.com/repos/Starcounter/Docs/languages","stargazers_url":"https://api.github.com/repos/Starcounter/Docs/stargazers","contributors_url":"https://api.github.com/repos/Starcounter/Docs/contributors","subscribers_url":"https://api.github.com/repos/Starcounter/Docs/subscribers","subscription_url":"https://api.github.com/repos/Starcounter/Docs/subscription","commits_url":"https://api.github.com/repos/Starcounter/Docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/Starcounter/Docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/Starcounter/Docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/Starcounter/Docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/Starcounter/Docs/contents/{+path}","compare_url":"https://api.github.com/repos/Starcounter/Docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Starcounter/Docs/merges","archive_url":"https://api.github.com/repos/Starcounter/Docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Starcounter/Docs/downloads","issues_url":"https://api.github.com/repos/Starcounter/Docs/issues{/number}","pulls_url":"https://api.github.com/repos/Starcounter/Docs/pulls{/number}","milestones_url":"https://api.github.com/repos/Starcounter/Docs/milestones{/number}","notifications_url":"https://api.github.com/repos/Starcounter/Docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Starcounter/Docs/labels{/name}","releases_url":"https://api.github.com/repos/Starcounter/Docs/releases{/id}","deployments_url":"https://api.github.com/repos/Starcounter/Docs/deployments","created_at":"2016-12-09T13:19:49Z","updated_at":"2018-06-12T11:09:49Z","pushed_at":"2018-06-14T22:06:59Z","git_url":"git://github.com/Starcounter/Docs.git","ssh_url":"git@github.com:Starcounter/Docs.git","clone_url":"https://github.com/Starcounter/Docs.git","svn_url":"https://github.com/Starcounter/Docs","homepage":"https://docs.starcounter.io/","size":16986,"stargazers_count":1,"watchers_count":1,"language":null,"has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":43,"license":null,"forks":4,"open_issues":43,"watchers":1,"default_branch":"2.4"}},"_links":{"self":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/232"},"html":{"href":"https://github.com/Starcounter/Docs/pull/232"},"issue":{"href":"https://api.github.com/repos/Starcounter/Docs/issues/232"},"comments":{"href":"https://api.github.com/repos/Starcounter/Docs/issues/232/comments"},"review_comments":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/232/comments"},"review_comment":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Starcounter/Docs/pulls/232/commits"},"statuses":{"href":"https://api.github.com/repos/Starcounter/Docs/statuses/82c3af002191789b420a52e00c69afe97f0f22ff"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"tomalec"}}