{"action":"created","comment":{"url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/comments/75773299","id":75773299,"diff_hunk":"@@ -5,189 +5,294 @@ var expect = require('expect.js');\n \n var Drawer = require('./../src/js/Drawer');\n \n-function isExpanded(element) {\n-\treturn element.classList.contains('o-drawer-open') &&\n-\t\telement.getAttribute('aria-expanded') === 'true';\n+function isExpanded(element, trigger) {\n+    return element.classList.contains('o-drawer-open') &&\n+        trigger.getAttribute('aria-expanded') === 'true';\n }\n \n-describe('Drawer', function() {\n-\n-\tit('should initialise', function() {\n-\t\texpect(new Drawer(document.body)).to.not.be(undefined);\n-\t});\n-\n-\tit('should throw when called without \\'new\\'', function () {\n-\t\texpect(function () { Drawer(); }).to.throwException(function (e) { // jshint ignore:line\n-\t\t\texpect(e).to.be.a(TypeError);\n-\t\t\texpect(e.message).to.match(/Constructor Drawer requires \\'new\\'/);\n-\t\t});\n-\t});\n-\n-\tit('should throw when no arguments are provided', function () {\n-\t\texpect(function () { new Drawer(); }).to.throwException(function (e) {\n-\t\t\texpect(e).to.be.a(TypeError);\n-\t\t\texpect(e.message).to.match(/missing required argument/);\n-\t\t});\n-\t});\n-\n-\tit('should accept a string argument', function () {\n-\t\tnew Drawer('body');\n-\t});\n-\n-\tdescribe('Drawer.init()', function(){\n-\t\tbefore(function () {\n-\t\t\tvar element1 = document.createElement('div');\n-\t\t\telement1.setAttribute('data-o-component', 'o-drawer');\n-\t\t\tdocument.body.appendChild(element1);\n-\n-\t\t\tvar element2 = document.createElement('div');\n-\t\t\telement2.setAttribute('data-o-component', 'o-drawer');\n-\t\t\tdocument.body.appendChild(element2);\n-\t\t});\n-\n-\t\tit('should init all drawer elements', function () {\n-\t\t\tvar drawers = Drawer.init();\n-\t\t\texpect(drawers.length).to.be(2);\n-\t\t});\n-\n-\t\tit('should work when element is a selector', function () {\n-\t\t\tvar drawers = Drawer.init('body');\n-\t\t\texpect(drawers.length).to.be(2);\n-\t\t});\n-\t});\n-\n-\tdescribe('Drawer.destroy()', function () {\n-\n-\t\tvar bodyDelegate;\n-\n-\t\tbefore(function () {\n-\t\t\tbodyDelegate = Drawer.bodyDelegate;\n-\t\t});\n-\n-\t\tafter(function () {\n-\t\t\tDrawer.bodyDelegate = bodyDelegate;\n-\t\t});\n-\n-\t\tit('should destroy', function () {\n-\t\t\tvar destroyed = false;\n-\t\t\tDrawer.bodyDelegate = {\n-\t\t\t\tdestroy: function () { destroyed = true; }\n-\t\t\t};\n-\n-\t\t\tDrawer.destroy();\n-\n-\t\t\texpect(destroyed).to.be(true);\n-\t\t});\n-\n-\t});\n-\n-\n-\tdescribe('open()', function(done) {\n-\t\tit('should show the element', function () {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\tdocument.body.appendChild(element);\n-\n-\t\t\tvar drawer = new Drawer(element);\n-\n-\t\t\texpect(isExpanded(element)).to.be(false);\n-\n-\t\t\tdrawer.open();\n-\t\t\tsetTimeout(function(){\n-\t\t\t\texpect(isExpanded(element)).to.be(true);\n-\t\t\t\tdone();\n-\t\t\t}, 100);\n-\n-\t\t});\n-\n-\t\tit('should emit oDrawer.open', function (done) {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\tdocument.body.appendChild(element);\n-\n-\t\t\tvar drawer = new Drawer(element);\n-\n-\t\t\telement.addEventListener('oDrawer.open', function (e) {\n-\t\t\t\texpect(e.target).to.be(element);\n-\t\t\t\tdone();\n-\t\t\t});\n-\n-\t\t\tdrawer.open();\n-\t\t});\n-\t});\n-\n-\tdescribe('close()', function() {\n-\t\tit('should hide the element', function () {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\tdocument.body.appendChild(element);\n-\n-\t\t\tvar drawer = new Drawer(element);\n-\t\t\tdrawer.open();\n-\t\t\tdrawer.close();\n-\n-\t\t\texpect(isExpanded(element)).to.be(false);\n-\t\t});\n-\n-\t\tit('should emit oDrawer.close', function (done) {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\tdocument.body.appendChild(element);\n-\n-\t\t\tvar drawer = new Drawer(element);\n-\n-\t\t\telement.addEventListener('oDrawer.close', function (e) {\n-\t\t\t\texpect(e.target).to.be(element);\n-\t\t\t\tdone();\n-\t\t\t});\n-\n-\t\t\tdrawer.close();\n-\t\t});\n-\n-\t\tit('should emit o.Drawer.RightDrawer', function(done) {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\telement.classList.add('o-drawer-right');\n-\t\t\tdocument.body.appendChild(element);\n-\n-\t\t\tvar drawer = new Drawer(element);\n-\n-\t\t\telement.addEventListener('o.Drawer.RightDrawer', function(e) {\n-\t\t\t\texpect(drawer.currentTarget).to.be(true);\n-\t\t\t\tdone();\n-\t\t\t});\n+function isFocussed(close_button) {\n+    return document.activeElement === close_button;\n+}\n \n-\t\t\tdrawer.open();\n-\t\t\texpect(drawer.currentTarget).to.be(false);\n-\t\t});\n+function lastFocusableRemains(drawer) {\n+    var last = drawer.last_focusable\n+        ,focusables = Array.prototype.slice.call(drawer.target.querySelectorAll(\n+          '[tabindex=\"0\"], a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled])'));\n \n-\t\tit('should emit o.Drawer.LeftDrawer', function(done) {\n-\t\t\tvar element = document.createElement('div')\n-\t\t\telement.classList.add('o-drawer-left');\n-\t\t\tdocument.body.appendChild(element);\n+    return last === focusables[focusables.length-1];\n+}\n \n-\t\t\tvar drawer = new Drawer(element);\n+function addFocusables(div) {\n+    var fraggle = document.createDocumentFragment()\n+        ,button = document.createElement('button')\n+        ,a = document.createElement('a')\n+        ,h3 = document.createElement('h3');\n \n-\t\t\telement.addEventListener('o.Drawer.LeftDrawer', function(e) {\n-\t\t\t\texpect(drawer.currentTarget).to.be(true);\n-\t\t\t\tdone();\n-\t\t\t});\n+    button.textContent = 'button text';\n \n-\t\t\tdrawer.open();\n-\t\t\texpect(drawer.currentTarget).to.be(false);\n+    a.href='#f';\n+    a.textContent = 'text';\n \n-\t\t});\n-\t});\n+    h3.setAttribute('tabindex', '0');\n+    h3.textContent = 'heading';\n \n-\tdescribe('toggle()', function(done) {\n-\t\tit('should toggle the element open and close', function () {\n-\t\t\tvar element = document.createElement('div');\n-\t\t\tdocument.body.appendChild(element);\n+    fraggle.appendChild(button);\n+    fraggle.appendChild(a);\n+    fraggle.appendChild(h3);\n+    div.appendChild(fraggle);\n+}\n \n-\t\t\tvar drawer = new Drawer(element);\n-\t\t\tdrawer.toggle();\n-\t\t\tsetTimeout(function(){\n-\t\t\t\texpect(isExpanded(element)).to.be(true);\n-\t\t\t\tdrawer.toggle();\n-\t\t\t\texpect(isExpanded(element)).to.be(false);\n-\t\t\t\tdone();\n-\t\t\t}, 100);\n+describe('Drawer', function() {\n \n-\t\t});\n-\t});\n+    it('should initialise', function() {\n+        expect(new Drawer(document.body)).to.not.be(undefined);\n+    });\n+\n+    it('should throw when called without \\'new\\'', function() {\n+        expect(function() { Drawer(); }).to.throwException(function(e) { // jshint ignore:line\n+            expect(e).to.be.a(TypeError);\n+            expect(e.message).to.match(/Constructor Drawer requires \\'new\\'/);\n+        });\n+    });\n+\n+    it('should throw when no arguments are provided', function() {\n+        expect(function() { new Drawer(); }).to.throwException(function(e) {\n+            expect(e).to.be.a(TypeError);\n+            expect(e.message).to.match(/missing required argument/);\n+        });\n+    });\n+\n+    it('should accept a string argument', function() {\n+        new Drawer('body');\n+    });\n+\n+    describe('Drawer.init()', function(){\n+        before(function() {\n+            var element1 = document.createElement('div');\n+            element1.setAttribute('data-o-component', 'o-drawer');\n+            document.body.appendChild(element1);\n+\n+            var element2 = document.createElement('div');\n+            element2.setAttribute('data-o-component', 'o-drawer');\n+            document.body.appendChild(element2);\n+        });\n+\n+        it('should init all drawer elements', function() {\n+            var drawers = Drawer.init();\n+            expect(drawers.length).to.be(2);\n+        });\n+\n+        it('should work when element is a selector', function() {\n+            var drawers = Drawer.init('body');\n+            expect(drawers.length).to.be(2);\n+        });\n+    });\n+\n+    describe('Drawer.destroy()', function() {\n+        var bodyDelegate;\n+\n+        before(function() {\n+            bodyDelegate = Drawer.bodyDelegate;\n+        });\n+\n+        after(function() {\n+            Drawer.bodyDelegate = bodyDelegate;\n+        });\n+\n+        it('should destroy', function() {\n+            var destroyed = false;\n+            Drawer.bodyDelegate = {\n+                    destroy: function() { destroyed = true; }\n+            };\n+\n+            Drawer.destroy();\n+\n+            expect(destroyed).to.be(true);\n+        });\n+    });\n+\n+\n+    describe('open()', function(done) {\n+        before(function() {\n+            var element = document.createElement('div')\n+                ,opener = document.createElement('button')\n+                ,close = document.createElement('button')\n+                ,make_more_focusables_button = document.createElement('button')\n+                ,button_parent_div = document.createElement('div')\n+                ,an_existing_focusable = document.createElement('a');\n+\n+            element.id = 'foo';\n+\n+            opener.id = 'opener';\n+            opener.setAttribute('aria-expanded', 'false');\n+            opener.setAttribute('data-open', 'o-drawer');\n+            opener.setAttribute('data-target', '#foo');\n+\n+            close.setAttribute('data-close', 'o-drawer');\n+            make_more_focusables_button.id = 'newbutton';\n+            an_existing_focusable.href = '#b';\n+\n+            button_parent_div.appendChild(make_more_focusables_button);\n+\n+            make_more_focusables_button.addEventListener('click', function(done) {\n+                addFocusables(button_parent_div);\n+            });\n+\n+            document.body.appendChild(element);\n+            document.body.appendChild(opener);\n+            element.appendChild(close);\n+            element.appendChild(button_parent_div);\n+            element.appendChild(an_existing_focusable);\n+        });\n+\n+        it('should show the element and set the correct states', function(done) {\n+            var element = document.getElementById('foo')\n+                ,opener = document.getElementById('opener')\n+                ,drawer = new Drawer(element);\n+\n+            opener.click();\n+            setTimeout(function() {\n+                expect(isExpanded(element,opener)).to.be(true);\n+                expect(isFocussed(close)).to.be(true);\n+                done();\n+            }, 100);\n+        });\n+\n+        //this test is only if we don't end up needing our own special lastFocusable.\n+        xit('should keep track of the last focusable', function(done) {\n+            var element = document.getElementById('foo')\n+                ,opener = document.getElementById('opener')\n+                ,button = document.getElementById('newbutton')\n+                ,drawer = new Drawer(element);\n+\n+            expect(lastFocusableRemains(drawer)).to.be(true);\n+\n+            opener.click();\n+            setTimeout(function(drawer, button) {\n+                button.click();\n+                expect(lastFocusableRemains(drawer)).to.be(true);\n+                expect(drawer.lastFocusable.href).to.equal('#b');\n+                done();\n+            }.bind(this, drawer, button), 100);\n+        });\n+\n+        xit('should emit oDrawer.open', function(done) {\n+            var element = document.getElementById('foo')\n+                ,opener = document.getElementById('opener')\n+                ,drawer = new Drawer(element);\n+\n+            element.addEventListener('oDrawer.open', function(e) {\n+                expect(e.target).to.be(element);\n+                done();\n+            });\n+\n+            opener.click();\n+        });\n+    });\n+\n+    describe('close()', function(done) {\n+        before(function() {\n+            var element = document.createElement('div')\n+                ,closer = document.createElement('button')\n+                ,close = document.createElement('button');\n+\n+            element.id = 'foo';\n+            element.classList.add('o-drawer-open');\n+\n+            closer.id = 'closer';\n+            closer.setAttribute('aria-expanded', 'true');\n+            closer.setAttribute('data-close', 'o-drawer');\n+            closer.setAttribute('data-target', '#foo');\n+\n+            close.setAttribute('data-close', 'o-drawer');\n+\n+            document.body.appendChild(element);\n+            document.body.appendChild(closer);\n+            element.appendChild(close);\n+        });\n+\n+        xit('should hide the element and set the correct states', function(done) {\n+            var element = document.getElementById('foo')\n+                ,closer = document.getElementById('closer')\n+                ,drawer = new Drawer(element);\n+\n+            closer.click();\n+            setTimeout(function() {\n+                expect(isExpanded(element,closer)).to.be(false);\n+                done();\n+            }, 100);\n+        });\n+\n+        xit('should emit oDrawer.close', function(done) {\n+            var element = document.getElementById('foo')\n+                ,closer = document.getElementById('closer')\n+                ,drawer = new Drawer(element);\n+\n+            element.addEventListener('oDrawer.close', function(e) {\n+                    expect(1).to.be(1);\n+                    done();\n+            });\n+\n+            closer.click();\n+        });\n+\n+        it('should emit o.Drawer.RightDrawer', function(done) {\n+            var element = document.createElement('div');\n+            element.classList.add('o-drawer-right');\n+            document.body.appendChild(element);\n+\n+            var drawer = new Drawer(element);\n+\n+            element.addEventListener('o.Drawer.RightDrawer', function(e) {\n+                expect(drawer.currentTarget).to.be(true);\n+                done();\n+            });\n+\n+            drawer.open();\n+            expect(drawer.currentTarget).to.be(false);\n+        });\n+\n+        it('should emit o.Drawer.LeftDrawer', function(done) {\n+            var element = document.createElement('div')\n+            element.classList.add('o-drawer-left');\n+            document.body.appendChild(element);\n+\n+            var drawer = new Drawer(element);\n+\n+            element.addEventListener('o.Drawer.LeftDrawer', function(e) {\n+                    expect(drawer.currentTarget).to.be(true);\n+                    done();\n+            });\n+\n+            drawer.open();\n+            expect(drawer.currentTarget).to.be(false);\n+\n+        });\n+    });\n+\n+    describe('toggle()', function(done) {\n+        it('should toggle the element open and close', function() {\n+            var element = document.createElement('div')\n+                ,toggler = document.createElement('button');\n+\n+            element.id = 'foo';\n+\n+            toggler.setAttribute('aria-expanded', 'false');\n+            toggler.setAttribute('data-toggle', 'o-drawer');\n+            toggler.setAttribute('data-target', '#foo');\n+\n+            document.body.appendChild(element);\n+            document.body.appendChild(toggler);\n+\n+            var drawer = new Drawer(element);\n+\n+            toggler.click();//open","path":"test/Drawer.test.js","position":459,"original_position":459,"commit_id":"dffba5ab8472fe321c47ee951141729955cce659","original_commit_id":"dffba5ab8472fe321c47ee951141729955cce659","user":{"login":"wyseguyonline","id":14926566,"avatar_url":"https://avatars.githubusercontent.com/u/14926566?v=3","gravatar_id":"","url":"https://api.github.com/users/wyseguyonline","html_url":"https://github.com/wyseguyonline","followers_url":"https://api.github.com/users/wyseguyonline/followers","following_url":"https://api.github.com/users/wyseguyonline/following{/other_user}","gists_url":"https://api.github.com/users/wyseguyonline/gists{/gist_id}","starred_url":"https://api.github.com/users/wyseguyonline/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wyseguyonline/subscriptions","organizations_url":"https://api.github.com/users/wyseguyonline/orgs","repos_url":"https://api.github.com/users/wyseguyonline/repos","events_url":"https://api.github.com/users/wyseguyonline/events{/privacy}","received_events_url":"https://api.github.com/users/wyseguyonline/received_events","type":"User","site_admin":false},"body":"And another simulated click event.","created_at":"2016-08-22T22:46:31Z","updated_at":"2016-08-22T22:46:31Z","html_url":"https://github.com/Pearson-Higher-Ed/drawer/pull/11#discussion_r75773299","pull_request_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11","_links":{"self":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/comments/75773299"},"html":{"href":"https://github.com/Pearson-Higher-Ed/drawer/pull/11#discussion_r75773299"},"pull_request":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11"}}},"pull_request":{"url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11","id":82019317,"html_url":"https://github.com/Pearson-Higher-Ed/drawer/pull/11","diff_url":"https://github.com/Pearson-Higher-Ed/drawer/pull/11.diff","patch_url":"https://github.com/Pearson-Higher-Ed/drawer/pull/11.patch","issue_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/11","number":11,"state":"open","locked":false,"title":"fix: Drawer open()","user":{"login":"StommePoes","id":136210,"avatar_url":"https://avatars.githubusercontent.com/u/136210?v=3","gravatar_id":"","url":"https://api.github.com/users/StommePoes","html_url":"https://github.com/StommePoes","followers_url":"https://api.github.com/users/StommePoes/followers","following_url":"https://api.github.com/users/StommePoes/following{/other_user}","gists_url":"https://api.github.com/users/StommePoes/gists{/gist_id}","starred_url":"https://api.github.com/users/StommePoes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StommePoes/subscriptions","organizations_url":"https://api.github.com/users/StommePoes/orgs","repos_url":"https://api.github.com/users/StommePoes/repos","events_url":"https://api.github.com/users/StommePoes/events{/privacy}","received_events_url":"https://api.github.com/users/StommePoes/received_events","type":"User","site_admin":false},"body":"fix: focus cycles through Drawer\r\n\r\ntest: added a focus test\r\n\r\ntest: checking last focusable, this might not make sense\r\n\r\nfix: move focus back to trigger on close()\r\n\r\nfix: check if closer isn't in drawer\r\n\r\ntest: added tests but removed 1\r\n\r\ntest: all tests fail\r\n\r\nfix: another done added to outside func","created_at":"2016-08-19T17:51:38Z","updated_at":"2016-08-22T22:46:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e4858f60644bfcf53cfac2b1b6fafd36b031de76","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11/commits","review_comments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11/comments","review_comment_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/11/comments","statuses_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/statuses/dffba5ab8472fe321c47ee951141729955cce659","head":{"label":"Pearson-Higher-Ed:DES-367","ref":"DES-367","sha":"dffba5ab8472fe321c47ee951141729955cce659","user":{"login":"Pearson-Higher-Ed","id":12619362,"avatar_url":"https://avatars.githubusercontent.com/u/12619362?v=3","gravatar_id":"","url":"https://api.github.com/users/Pearson-Higher-Ed","html_url":"https://github.com/Pearson-Higher-Ed","followers_url":"https://api.github.com/users/Pearson-Higher-Ed/followers","following_url":"https://api.github.com/users/Pearson-Higher-Ed/following{/other_user}","gists_url":"https://api.github.com/users/Pearson-Higher-Ed/gists{/gist_id}","starred_url":"https://api.github.com/users/Pearson-Higher-Ed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pearson-Higher-Ed/subscriptions","organizations_url":"https://api.github.com/users/Pearson-Higher-Ed/orgs","repos_url":"https://api.github.com/users/Pearson-Higher-Ed/repos","events_url":"https://api.github.com/users/Pearson-Higher-Ed/events{/privacy}","received_events_url":"https://api.github.com/users/Pearson-Higher-Ed/received_events","type":"Organization","site_admin":false},"repo":{"id":53995829,"name":"drawer","full_name":"Pearson-Higher-Ed/drawer","owner":{"login":"Pearson-Higher-Ed","id":12619362,"avatar_url":"https://avatars.githubusercontent.com/u/12619362?v=3","gravatar_id":"","url":"https://api.github.com/users/Pearson-Higher-Ed","html_url":"https://github.com/Pearson-Higher-Ed","followers_url":"https://api.github.com/users/Pearson-Higher-Ed/followers","following_url":"https://api.github.com/users/Pearson-Higher-Ed/following{/other_user}","gists_url":"https://api.github.com/users/Pearson-Higher-Ed/gists{/gist_id}","starred_url":"https://api.github.com/users/Pearson-Higher-Ed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pearson-Higher-Ed/subscriptions","organizations_url":"https://api.github.com/users/Pearson-Higher-Ed/orgs","repos_url":"https://api.github.com/users/Pearson-Higher-Ed/repos","events_url":"https://api.github.com/users/Pearson-Higher-Ed/events{/privacy}","received_events_url":"https://api.github.com/users/Pearson-Higher-Ed/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Pearson-Higher-Ed/drawer","description":"Off-canvas navigation and content container","fork":false,"url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer","forks_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/forks","keys_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/teams","hooks_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/hooks","issue_events_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/events{/number}","events_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/events","assignees_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/assignees{/user}","branches_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/branches{/branch}","tags_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/tags","blobs_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/refs{/sha}","trees_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/statuses/{sha}","languages_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/languages","stargazers_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/stargazers","contributors_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/contributors","subscribers_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/subscribers","subscription_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/subscription","commits_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/commits{/sha}","git_commits_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/commits{/sha}","comments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/comments{/number}","issue_comment_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/comments{/number}","contents_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/contents/{+path}","compare_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/merges","archive_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/downloads","issues_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues{/number}","pulls_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls{/number}","milestones_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/milestones{/number}","notifications_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/labels{/name}","releases_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/releases{/id}","deployments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/deployments","created_at":"2016-03-16T02:50:16Z","updated_at":"2016-05-21T20:19:25Z","pushed_at":"2016-08-19T17:51:38Z","git_url":"git://github.com/Pearson-Higher-Ed/drawer.git","ssh_url":"git@github.com:Pearson-Higher-Ed/drawer.git","clone_url":"https://github.com/Pearson-Higher-Ed/drawer.git","svn_url":"https://github.com/Pearson-Higher-Ed/drawer","homepage":"https://www.npmjs.com/package/@pearson-components/drawer","size":96,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"Pearson-Higher-Ed:master","ref":"master","sha":"5d562456104dc1490e82224ed18303d1d67fd2eb","user":{"login":"Pearson-Higher-Ed","id":12619362,"avatar_url":"https://avatars.githubusercontent.com/u/12619362?v=3","gravatar_id":"","url":"https://api.github.com/users/Pearson-Higher-Ed","html_url":"https://github.com/Pearson-Higher-Ed","followers_url":"https://api.github.com/users/Pearson-Higher-Ed/followers","following_url":"https://api.github.com/users/Pearson-Higher-Ed/following{/other_user}","gists_url":"https://api.github.com/users/Pearson-Higher-Ed/gists{/gist_id}","starred_url":"https://api.github.com/users/Pearson-Higher-Ed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pearson-Higher-Ed/subscriptions","organizations_url":"https://api.github.com/users/Pearson-Higher-Ed/orgs","repos_url":"https://api.github.com/users/Pearson-Higher-Ed/repos","events_url":"https://api.github.com/users/Pearson-Higher-Ed/events{/privacy}","received_events_url":"https://api.github.com/users/Pearson-Higher-Ed/received_events","type":"Organization","site_admin":false},"repo":{"id":53995829,"name":"drawer","full_name":"Pearson-Higher-Ed/drawer","owner":{"login":"Pearson-Higher-Ed","id":12619362,"avatar_url":"https://avatars.githubusercontent.com/u/12619362?v=3","gravatar_id":"","url":"https://api.github.com/users/Pearson-Higher-Ed","html_url":"https://github.com/Pearson-Higher-Ed","followers_url":"https://api.github.com/users/Pearson-Higher-Ed/followers","following_url":"https://api.github.com/users/Pearson-Higher-Ed/following{/other_user}","gists_url":"https://api.github.com/users/Pearson-Higher-Ed/gists{/gist_id}","starred_url":"https://api.github.com/users/Pearson-Higher-Ed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Pearson-Higher-Ed/subscriptions","organizations_url":"https://api.github.com/users/Pearson-Higher-Ed/orgs","repos_url":"https://api.github.com/users/Pearson-Higher-Ed/repos","events_url":"https://api.github.com/users/Pearson-Higher-Ed/events{/privacy}","received_events_url":"https://api.github.com/users/Pearson-Higher-Ed/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Pearson-Higher-Ed/drawer","description":"Off-canvas navigation and content container","fork":false,"url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer","forks_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/forks","keys_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/teams","hooks_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/hooks","issue_events_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/events{/number}","events_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/events","assignees_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/assignees{/user}","branches_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/branches{/branch}","tags_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/tags","blobs_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/refs{/sha}","trees_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/statuses/{sha}","languages_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/languages","stargazers_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/stargazers","contributors_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/contributors","subscribers_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/subscribers","subscription_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/subscription","commits_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/commits{/sha}","git_commits_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/git/commits{/sha}","comments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/comments{/number}","issue_comment_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/comments{/number}","contents_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/contents/{+path}","compare_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/merges","archive_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/downloads","issues_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues{/number}","pulls_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls{/number}","milestones_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/milestones{/number}","notifications_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/labels{/name}","releases_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/releases{/id}","deployments_url":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/deployments","created_at":"2016-03-16T02:50:16Z","updated_at":"2016-05-21T20:19:25Z","pushed_at":"2016-08-19T17:51:38Z","git_url":"git://github.com/Pearson-Higher-Ed/drawer.git","ssh_url":"git@github.com:Pearson-Higher-Ed/drawer.git","clone_url":"https://github.com/Pearson-Higher-Ed/drawer.git","svn_url":"https://github.com/Pearson-Higher-Ed/drawer","homepage":"https://www.npmjs.com/package/@pearson-components/drawer","size":96,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11"},"html":{"href":"https://github.com/Pearson-Higher-Ed/drawer/pull/11"},"issue":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/11"},"comments":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/issues/11/comments"},"review_comments":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11/comments"},"review_comment":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/pulls/11/commits"},"statuses":{"href":"https://api.github.com/repos/Pearson-Higher-Ed/drawer/statuses/dffba5ab8472fe321c47ee951141729955cce659"}}}}
{"actor":{"display_login":"wyseguyonline"}}