{"action":"created","comment":{"url":"https://api.github.com/repos/cerner/terra-framework/pulls/comments/175836388","pull_request_review_id":105432876,"id":175836388,"diff_hunk":"@@ -0,0 +1,222 @@\n+import React from 'react';\n+import PropTypes from 'prop-types';\n+import AppDelegate from 'terra-app-delegate';\n+import NavigationLayout from 'terra-navigation-layout';\n+import { routeConfigPropType } from 'terra-navigation-layout/lib/configurationPropTypes';\n+import { matchPath } from 'react-router-dom';\n+import { withModalManager } from 'terra-modal-manager';\n+\n+import PrimaryNavigationSideMenu from './menu/_PrimaryNavigationSideMenu';\n+import ApplicationMenuConfigAdapter from './menu/_ApplicationMenuConfigAdapter';\n+import ApplicationHeader from './header/_ApplicationHeader';\n+import ApplicationLayoutPropTypes from './utils/propTypes';\n+import Helpers from './utils/helpers';\n+import UtilityHelpers from './utils/utilityHelpers';\n+\n+const navigationLayoutSizes = ['default', 'tiny', 'small', 'medium', 'large', 'huge'];\n+\n+const propTypes = {\n+  /**\n+   * The AppDelegate instance provided by `withModalManager`. If an AppDelegate instance is\n+   * explicitly provided to the ApplicationLayout, the ModalManager will wrap it and\n+   * fall back to its defined APIs as needed.\n+   */\n+  app: AppDelegate.propType,\n+  /**\n+   * The index, or default, path of the routing configuration. The ApplicationLayout will redirect to this path\n+   * when the router reaches an unknown location.\n+   */\n+  indexPath: PropTypes.string.isRequired,\n+  /**\n+   * An array of Objects describing the ApplicationLayout's primary navigation items.\n+   */\n+  navigationItems: ApplicationLayoutPropTypes.navigationItemsPropType,\n+  /**\n+   * The configuration values for the ApplicationName component.\n+   */\n+  nameConfig: ApplicationLayoutPropTypes.nameConfigPropType,\n+  /**\n+   * The configuration values for the ApplicationUtility component.\n+   */\n+  utilityConfig: ApplicationLayoutPropTypes.utilityConfigPropType,\n+  /**\n+   * The routing configuration Object. This is very similar to the routingConfig supported by the NavigationLayout; however,\n+   * the ApplicationLayout only supports configuration for the `menu` and `content` regions of the layout. The '/' path is also blacklisted\n+   * within this configuration object, as the ApplicationLayout uses it for navigation purposes. Any configuration provided for the '/' path\n+   * will be disregarded.\n+   */\n+  routingConfig: PropTypes.shape({\n+    menu: routeConfigPropType,\n+    content: routeConfigPropType,\n+  }),\n+  /**\n+   * The content to be rendered in the ApplicationLayout's extensions region.\n+   */\n+  extensions: PropTypes.element,\n+};\n+\n+const defaultProps = {\n+  navigationItems: [],\n+};\n+\n+class ApplicationLayout extends React.Component {\n+  /**\n+   * Builds and returns the menu items for the PrimaryNavigationSideMenu from the navigationItems.\n+   */\n+  static buildMenuNavigationItems(props) {\n+    const { navigationItems, routingConfig } = props;\n+\n+    if (!routingConfig.menu) {\n+      return navigationItems;\n+    }\n+\n+    const menuPaths = Object.keys(routingConfig.menu).map(key => (routingConfig.menu[key].path));\n+    return navigationItems.map(navigationItem => ({\n+      path: navigationItem.path,\n+      text: navigationItem.text,\n+      hasSubMenu: menuPaths.filter(menuPath => matchPath(navigationItem.path, { path: menuPath })).length > 0,\n+    }));\n+  }\n+\n+  /**\n+   * Builds and returns the routing configuration object for the PrimaryNavigationSideMenu.\n+   */\n+  static buildNavigationMenuConfig(props) {\n+    const menuNavigationItems = ApplicationLayout.buildMenuNavigationItems(props);\n+\n+    const componentConfig = {\n+      componentClass: PrimaryNavigationSideMenu,\n+      props: {\n+        navigationItems: menuNavigationItems,\n+      },\n+      refuseRoutingStackNavigation: menuNavigationItems.length === 0,\n+    };\n+\n+    /**\n+     * The configuration for the primary navigation menu is specified for the\n+     * tiny and small breakpoints only. The menu will only be visible when the ApplicationLayout\n+     * is compact.\n+     */\n+    return {\n+      '/': {\n+        path: '/',\n+        component: {\n+          tiny: componentConfig,\n+          small: componentConfig,\n+        },\n+      },\n+    };\n+  }\n+\n+  /**\n+   * Builds and returns the routing configuration object for all menus with ApplicationMenuConfigAdapters\n+   * wrapped around each component entry.\n+   */\n+  static buildWrappedMenuConfig(props, menuConfig) {\n+    const { nameConfig, utilityConfig, extensions } = props;\n+\n+    const updatedMenuConfig = {};\n+    Object.keys(menuConfig).forEach((menuKey) => {\n+      const newMenu = Object.assign({}, menuConfig[menuKey]);\n+\n+      const newMenuComponent = Object.assign({}, newMenu.component);\n+\n+      navigationLayoutSizes.forEach((size) => {\n+        if (!newMenuComponent[size]) {\n+          return;\n+        }\n+\n+        const configForSize = Object.assign({}, newMenuComponent[size]);\n+\n+        const propsForSize = Object.assign({}, configForSize.props);\n+\n+        propsForSize.applicationMenuConfigAdapterProps = {\n+          overrideComponentClass: configForSize.componentClass,\n+          nameConfig,\n+          utilityConfig,\n+          extensions,\n+        };\n+        configForSize.props = propsForSize;\n+        configForSize.componentClass = ApplicationMenuConfigAdapter;\n+\n+        newMenuComponent[size] = configForSize;\n+      });\n+\n+      newMenu.component = newMenuComponent;\n+      updatedMenuConfig[menuKey] = newMenu;\n+    });\n+\n+    return updatedMenuConfig;\n+  }\n+\n+  /**\n+   * Builds and returns the routing configuration object for the ApplicationLayout by injecting the PrimaryNavigationSideMenu\n+   * and ApplicationMenuConfigAdapters as necessary.\n+   */\n+  static buildRoutingConfig(props) {\n+    const { routingConfig } = props;\n+\n+    const updatedConfig = Object.assign({}, routingConfig, {\n+      menu: ApplicationLayout.buildWrappedMenuConfig(props, Object.assign({}, routingConfig.menu, ApplicationLayout.buildNavigationMenuConfig(props))),\n+    });\n+\n+    return updatedConfig;\n+  }\n+\n+  constructor(props) {\n+    super(props);\n+\n+    this.state = {\n+      applicationLayoutRoutingConfig: ApplicationLayout.buildRoutingConfig(this.props),\n+    };\n+  }\n+\n+  componentWillReceiveProps(nextProps) {\n+    if (this.props.nameConfig !== nextProps.nameConfig ||\n+        this.props.utilityConfig !== nextProps.utilityConfig ||\n+        this.props.routingConfig !== nextProps.routingConfig ||\n+        this.props.navigationItems !== nextProps.navigationItems ||\n+        this.props.indexPath !== nextProps.indexPath) {\n+      this.setState({\n+        applicationLayoutRoutingConfig: ApplicationLayout.buildRoutingConfig(nextProps),\n+      });\n+    }\n+  }\n+\n+  render() {\n+    const { app, nameConfig, utilityConfig, navigationItems, indexPath, extensions } = this.props;\n+    const { applicationLayoutRoutingConfig } = this.state;\n+\n+    return (\n+      <NavigationLayout\n+        app={app}\n+        config={applicationLayoutRoutingConfig}\n+        header={(\n+          <ApplicationHeader","path":"packages/terra-application-layout/src/ApplicationLayout.jsx","position":195,"original_position":195,"commit_id":"7385c00849a1b6007e577e6bd3d886c43c1c5944","original_commit_id":"7385c00849a1b6007e577e6bd3d886c43c1c5944","user":{"login":"emilyrohrbough","id":14099737,"avatar_url":"https://avatars1.githubusercontent.com/u/14099737?v=4","gravatar_id":"","url":"https://api.github.com/users/emilyrohrbough","html_url":"https://github.com/emilyrohrbough","followers_url":"https://api.github.com/users/emilyrohrbough/followers","following_url":"https://api.github.com/users/emilyrohrbough/following{/other_user}","gists_url":"https://api.github.com/users/emilyrohrbough/gists{/gist_id}","starred_url":"https://api.github.com/users/emilyrohrbough/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilyrohrbough/subscriptions","organizations_url":"https://api.github.com/users/emilyrohrbough/orgs","repos_url":"https://api.github.com/users/emilyrohrbough/repos","events_url":"https://api.github.com/users/emilyrohrbough/events{/privacy}","received_events_url":"https://api.github.com/users/emilyrohrbough/received_events","type":"User","site_admin":false},"body":"Where are we toggling the `ApplicationHeader` and `ApplicationMenu` renderings?","created_at":"2018-03-20T16:34:29Z","updated_at":"2018-03-20T16:34:29Z","html_url":"https://github.com/cerner/terra-framework/pull/116#discussion_r175836388","pull_request_url":"https://api.github.com/repos/cerner/terra-framework/pulls/116","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/comments/175836388"},"html":{"href":"https://github.com/cerner/terra-framework/pull/116#discussion_r175836388"},"pull_request":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/116"}}},"pull_request":{"url":"https://api.github.com/repos/cerner/terra-framework/pulls/116","id":175654777,"html_url":"https://github.com/cerner/terra-framework/pull/116","diff_url":"https://github.com/cerner/terra-framework/pull/116.diff","patch_url":"https://github.com/cerner/terra-framework/pull/116.patch","issue_url":"https://api.github.com/repos/cerner/terra-framework/issues/116","number":116,"state":"open","locked":false,"title":"Creating ApplicationLayout","user":{"login":"tbiethman","id":1711637,"avatar_url":"https://avatars3.githubusercontent.com/u/1711637?v=4","gravatar_id":"","url":"https://api.github.com/users/tbiethman","html_url":"https://github.com/tbiethman","followers_url":"https://api.github.com/users/tbiethman/followers","following_url":"https://api.github.com/users/tbiethman/following{/other_user}","gists_url":"https://api.github.com/users/tbiethman/gists{/gist_id}","starred_url":"https://api.github.com/users/tbiethman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbiethman/subscriptions","organizations_url":"https://api.github.com/users/tbiethman/orgs","repos_url":"https://api.github.com/users/tbiethman/repos","events_url":"https://api.github.com/users/tbiethman/events{/privacy}","received_events_url":"https://api.github.com/users/tbiethman/received_events","type":"User","site_admin":false},"body":"### Summary\r\n\r\nThis PR introduces the ApplicationLayout.\r\n\r\nAddresses: #77 \r\n\r\nBroken/outdated tests have been removed, but I didn't want them to hold up the implementation review any longer. I'll be adding those back shortly as I fix them.\r\n\r\n","created_at":"2018-03-16T21:54:14Z","updated_at":"2018-03-20T16:34:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a44693d6dc0143888b6368fda8b9e260917daee7","assignee":{"login":"tbiethman","id":1711637,"avatar_url":"https://avatars3.githubusercontent.com/u/1711637?v=4","gravatar_id":"","url":"https://api.github.com/users/tbiethman","html_url":"https://github.com/tbiethman","followers_url":"https://api.github.com/users/tbiethman/followers","following_url":"https://api.github.com/users/tbiethman/following{/other_user}","gists_url":"https://api.github.com/users/tbiethman/gists{/gist_id}","starred_url":"https://api.github.com/users/tbiethman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbiethman/subscriptions","organizations_url":"https://api.github.com/users/tbiethman/orgs","repos_url":"https://api.github.com/users/tbiethman/repos","events_url":"https://api.github.com/users/tbiethman/events{/privacy}","received_events_url":"https://api.github.com/users/tbiethman/received_events","type":"User","site_admin":false},"assignees":[{"login":"tbiethman","id":1711637,"avatar_url":"https://avatars3.githubusercontent.com/u/1711637?v=4","gravatar_id":"","url":"https://api.github.com/users/tbiethman","html_url":"https://github.com/tbiethman","followers_url":"https://api.github.com/users/tbiethman/followers","following_url":"https://api.github.com/users/tbiethman/following{/other_user}","gists_url":"https://api.github.com/users/tbiethman/gists{/gist_id}","starred_url":"https://api.github.com/users/tbiethman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbiethman/subscriptions","organizations_url":"https://api.github.com/users/tbiethman/orgs","repos_url":"https://api.github.com/users/tbiethman/repos","events_url":"https://api.github.com/users/tbiethman/events{/privacy}","received_events_url":"https://api.github.com/users/tbiethman/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"JakeLaCombe","id":2552573,"avatar_url":"https://avatars3.githubusercontent.com/u/2552573?v=4","gravatar_id":"","url":"https://api.github.com/users/JakeLaCombe","html_url":"https://github.com/JakeLaCombe","followers_url":"https://api.github.com/users/JakeLaCombe/followers","following_url":"https://api.github.com/users/JakeLaCombe/following{/other_user}","gists_url":"https://api.github.com/users/JakeLaCombe/gists{/gist_id}","starred_url":"https://api.github.com/users/JakeLaCombe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JakeLaCombe/subscriptions","organizations_url":"https://api.github.com/users/JakeLaCombe/orgs","repos_url":"https://api.github.com/users/JakeLaCombe/repos","events_url":"https://api.github.com/users/JakeLaCombe/events{/privacy}","received_events_url":"https://api.github.com/users/JakeLaCombe/received_events","type":"User","site_admin":false},{"login":"ryanthemanuel","id":4873279,"avatar_url":"https://avatars3.githubusercontent.com/u/4873279?v=4","gravatar_id":"","url":"https://api.github.com/users/ryanthemanuel","html_url":"https://github.com/ryanthemanuel","followers_url":"https://api.github.com/users/ryanthemanuel/followers","following_url":"https://api.github.com/users/ryanthemanuel/following{/other_user}","gists_url":"https://api.github.com/users/ryanthemanuel/gists{/gist_id}","starred_url":"https://api.github.com/users/ryanthemanuel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ryanthemanuel/subscriptions","organizations_url":"https://api.github.com/users/ryanthemanuel/orgs","repos_url":"https://api.github.com/users/ryanthemanuel/repos","events_url":"https://api.github.com/users/ryanthemanuel/events{/privacy}","received_events_url":"https://api.github.com/users/ryanthemanuel/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":869907624,"url":"https://api.github.com/repos/cerner/terra-framework/labels/application-layout","name":"application-layout","color":"deed82","default":false},{"id":729695080,"url":"https://api.github.com/repos/cerner/terra-framework/labels/new%20feature","name":"new feature","color":"3b47b5","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/cerner/terra-framework/pulls/116/commits","review_comments_url":"https://api.github.com/repos/cerner/terra-framework/pulls/116/comments","review_comment_url":"https://api.github.com/repos/cerner/terra-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cerner/terra-framework/issues/116/comments","statuses_url":"https://api.github.com/repos/cerner/terra-framework/statuses/7385c00849a1b6007e577e6bd3d886c43c1c5944","head":{"label":"cerner:application-layout-pr","ref":"application-layout-pr","sha":"7385c00849a1b6007e577e6bd3d886c43c1c5944","user":{"login":"cerner","id":1873208,"avatar_url":"https://avatars1.githubusercontent.com/u/1873208?v=4","gravatar_id":"","url":"https://api.github.com/users/cerner","html_url":"https://github.com/cerner","followers_url":"https://api.github.com/users/cerner/followers","following_url":"https://api.github.com/users/cerner/following{/other_user}","gists_url":"https://api.github.com/users/cerner/gists{/gist_id}","starred_url":"https://api.github.com/users/cerner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerner/subscriptions","organizations_url":"https://api.github.com/users/cerner/orgs","repos_url":"https://api.github.com/users/cerner/repos","events_url":"https://api.github.com/users/cerner/events{/privacy}","received_events_url":"https://api.github.com/users/cerner/received_events","type":"Organization","site_admin":false},"repo":{"id":107724721,"name":"terra-framework","full_name":"cerner/terra-framework","owner":{"login":"cerner","id":1873208,"avatar_url":"https://avatars1.githubusercontent.com/u/1873208?v=4","gravatar_id":"","url":"https://api.github.com/users/cerner","html_url":"https://github.com/cerner","followers_url":"https://api.github.com/users/cerner/followers","following_url":"https://api.github.com/users/cerner/following{/other_user}","gists_url":"https://api.github.com/users/cerner/gists{/gist_id}","starred_url":"https://api.github.com/users/cerner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerner/subscriptions","organizations_url":"https://api.github.com/users/cerner/orgs","repos_url":"https://api.github.com/users/cerner/repos","events_url":"https://api.github.com/users/cerner/events{/privacy}","received_events_url":"https://api.github.com/users/cerner/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cerner/terra-framework","description":"Terra framework houses higher order opinionated react components to help developers quickly build out new applications.","fork":false,"url":"https://api.github.com/repos/cerner/terra-framework","forks_url":"https://api.github.com/repos/cerner/terra-framework/forks","keys_url":"https://api.github.com/repos/cerner/terra-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cerner/terra-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cerner/terra-framework/teams","hooks_url":"https://api.github.com/repos/cerner/terra-framework/hooks","issue_events_url":"https://api.github.com/repos/cerner/terra-framework/issues/events{/number}","events_url":"https://api.github.com/repos/cerner/terra-framework/events","assignees_url":"https://api.github.com/repos/cerner/terra-framework/assignees{/user}","branches_url":"https://api.github.com/repos/cerner/terra-framework/branches{/branch}","tags_url":"https://api.github.com/repos/cerner/terra-framework/tags","blobs_url":"https://api.github.com/repos/cerner/terra-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cerner/terra-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cerner/terra-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/cerner/terra-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cerner/terra-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/cerner/terra-framework/languages","stargazers_url":"https://api.github.com/repos/cerner/terra-framework/stargazers","contributors_url":"https://api.github.com/repos/cerner/terra-framework/contributors","subscribers_url":"https://api.github.com/repos/cerner/terra-framework/subscribers","subscription_url":"https://api.github.com/repos/cerner/terra-framework/subscription","commits_url":"https://api.github.com/repos/cerner/terra-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/cerner/terra-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/cerner/terra-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/cerner/terra-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/cerner/terra-framework/contents/{+path}","compare_url":"https://api.github.com/repos/cerner/terra-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cerner/terra-framework/merges","archive_url":"https://api.github.com/repos/cerner/terra-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cerner/terra-framework/downloads","issues_url":"https://api.github.com/repos/cerner/terra-framework/issues{/number}","pulls_url":"https://api.github.com/repos/cerner/terra-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/cerner/terra-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/cerner/terra-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cerner/terra-framework/labels{/name}","releases_url":"https://api.github.com/repos/cerner/terra-framework/releases{/id}","deployments_url":"https://api.github.com/repos/cerner/terra-framework/deployments","created_at":"2017-10-20T20:43:46Z","updated_at":"2018-03-20T13:34:58Z","pushed_at":"2018-03-20T16:29:20Z","git_url":"git://github.com/cerner/terra-framework.git","ssh_url":"git@github.com:cerner/terra-framework.git","clone_url":"https://github.com/cerner/terra-framework.git","svn_url":"https://github.com/cerner/terra-framework","homepage":"http://engineering.cerner.com/terra-framework/","size":12142,"stargazers_count":10,"watchers_count":10,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1,"open_issues":18,"watchers":10,"default_branch":"master"}},"base":{"label":"cerner:master","ref":"master","sha":"5f9fa05b1560095765567ad2f2c463c7b27bb984","user":{"login":"cerner","id":1873208,"avatar_url":"https://avatars1.githubusercontent.com/u/1873208?v=4","gravatar_id":"","url":"https://api.github.com/users/cerner","html_url":"https://github.com/cerner","followers_url":"https://api.github.com/users/cerner/followers","following_url":"https://api.github.com/users/cerner/following{/other_user}","gists_url":"https://api.github.com/users/cerner/gists{/gist_id}","starred_url":"https://api.github.com/users/cerner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerner/subscriptions","organizations_url":"https://api.github.com/users/cerner/orgs","repos_url":"https://api.github.com/users/cerner/repos","events_url":"https://api.github.com/users/cerner/events{/privacy}","received_events_url":"https://api.github.com/users/cerner/received_events","type":"Organization","site_admin":false},"repo":{"id":107724721,"name":"terra-framework","full_name":"cerner/terra-framework","owner":{"login":"cerner","id":1873208,"avatar_url":"https://avatars1.githubusercontent.com/u/1873208?v=4","gravatar_id":"","url":"https://api.github.com/users/cerner","html_url":"https://github.com/cerner","followers_url":"https://api.github.com/users/cerner/followers","following_url":"https://api.github.com/users/cerner/following{/other_user}","gists_url":"https://api.github.com/users/cerner/gists{/gist_id}","starred_url":"https://api.github.com/users/cerner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cerner/subscriptions","organizations_url":"https://api.github.com/users/cerner/orgs","repos_url":"https://api.github.com/users/cerner/repos","events_url":"https://api.github.com/users/cerner/events{/privacy}","received_events_url":"https://api.github.com/users/cerner/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cerner/terra-framework","description":"Terra framework houses higher order opinionated react components to help developers quickly build out new applications.","fork":false,"url":"https://api.github.com/repos/cerner/terra-framework","forks_url":"https://api.github.com/repos/cerner/terra-framework/forks","keys_url":"https://api.github.com/repos/cerner/terra-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cerner/terra-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cerner/terra-framework/teams","hooks_url":"https://api.github.com/repos/cerner/terra-framework/hooks","issue_events_url":"https://api.github.com/repos/cerner/terra-framework/issues/events{/number}","events_url":"https://api.github.com/repos/cerner/terra-framework/events","assignees_url":"https://api.github.com/repos/cerner/terra-framework/assignees{/user}","branches_url":"https://api.github.com/repos/cerner/terra-framework/branches{/branch}","tags_url":"https://api.github.com/repos/cerner/terra-framework/tags","blobs_url":"https://api.github.com/repos/cerner/terra-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cerner/terra-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cerner/terra-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/cerner/terra-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cerner/terra-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/cerner/terra-framework/languages","stargazers_url":"https://api.github.com/repos/cerner/terra-framework/stargazers","contributors_url":"https://api.github.com/repos/cerner/terra-framework/contributors","subscribers_url":"https://api.github.com/repos/cerner/terra-framework/subscribers","subscription_url":"https://api.github.com/repos/cerner/terra-framework/subscription","commits_url":"https://api.github.com/repos/cerner/terra-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/cerner/terra-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/cerner/terra-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/cerner/terra-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/cerner/terra-framework/contents/{+path}","compare_url":"https://api.github.com/repos/cerner/terra-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cerner/terra-framework/merges","archive_url":"https://api.github.com/repos/cerner/terra-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cerner/terra-framework/downloads","issues_url":"https://api.github.com/repos/cerner/terra-framework/issues{/number}","pulls_url":"https://api.github.com/repos/cerner/terra-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/cerner/terra-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/cerner/terra-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cerner/terra-framework/labels{/name}","releases_url":"https://api.github.com/repos/cerner/terra-framework/releases{/id}","deployments_url":"https://api.github.com/repos/cerner/terra-framework/deployments","created_at":"2017-10-20T20:43:46Z","updated_at":"2018-03-20T13:34:58Z","pushed_at":"2018-03-20T16:29:20Z","git_url":"git://github.com/cerner/terra-framework.git","ssh_url":"git@github.com:cerner/terra-framework.git","clone_url":"https://github.com/cerner/terra-framework.git","svn_url":"https://github.com/cerner/terra-framework","homepage":"http://engineering.cerner.com/terra-framework/","size":12142,"stargazers_count":10,"watchers_count":10,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":18,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":1,"open_issues":18,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/116"},"html":{"href":"https://github.com/cerner/terra-framework/pull/116"},"issue":{"href":"https://api.github.com/repos/cerner/terra-framework/issues/116"},"comments":{"href":"https://api.github.com/repos/cerner/terra-framework/issues/116/comments"},"review_comments":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/116/comments"},"review_comment":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cerner/terra-framework/pulls/116/commits"},"statuses":{"href":"https://api.github.com/repos/cerner/terra-framework/statuses/7385c00849a1b6007e577e6bd3d886c43c1c5944"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"emilyrohrbough"}}