From e9019ae3f230b2189033de94af7b843b8afe3ad1 Mon Sep 17 00:00:00 2001 From: Ryan Domingue Date: Thu, 28 Nov 2019 10:21:59 -0800 Subject: [PATCH 1/4] Adds ignore files --- .gitignore | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ .npmignore | 7 +++++++ 2 files changed, 65 insertions(+) create mode 100644 .gitignore create mode 100644 .npmignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..6b96b5fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so +*.pyc + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite + +# Dependencies # +###################### +bower_components +node_modules +vendor + +# Application files # +###################### +*.sass-cache +*.sublime-* +.project +.settings +.vagrant +.vscode + +# OS generated files # +###################### +._* +.DS_Store* +.Spotlight-V100 +.Trashes +ehthumbs.db +ehthumbs.db +Thumbs.db + +# Misc # +###################### +_site +.idea diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000..29cdfa67 --- /dev/null +++ b/.npmignore @@ -0,0 +1,7 @@ +docs/ +src/**/*.test.js +utils/events.js +.babelrc +.eslintrc +*.sublime-project +*.sublime-workspace From fb066d60a5dee1a9318f7d8aa79892752393cea4 Mon Sep 17 00:00:00 2001 From: Ryan Domingue Date: Thu, 28 Nov 2019 10:27:21 -0800 Subject: [PATCH 2/4] Adds Travis config --- travis.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 travis.yaml diff --git a/travis.yaml b/travis.yaml new file mode 100644 index 00000000..2ce4974a --- /dev/null +++ b/travis.yaml @@ -0,0 +1,8 @@ +language: node_js +cache: yarn +node_js: + - node + - "12" + - "10" +install: + - YARN_IGNORE_ENGINES=true yarn From 769115f26e018528d5a8ae51b99d10dcad1f8c95 Mon Sep 17 00:00:00 2001 From: Ryan Domingue Date: Thu, 28 Nov 2019 12:53:44 -0800 Subject: [PATCH 3/4] Ignores build directory --- .gitignore | 2 ++ docs/build/css/global.411474ca17ade804f03e.min.css | 1 - docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js | 2 -- docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js.map | 1 - 4 files changed, 2 insertions(+), 4 deletions(-) delete mode 100644 docs/build/css/global.411474ca17ade804f03e.min.css delete mode 100644 docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js delete mode 100644 docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js.map diff --git a/.gitignore b/.gitignore index 6b96b5fc..123038e4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +docs/build/ + # Compiled source # ################### *.com diff --git a/docs/build/css/global.411474ca17ade804f03e.min.css b/docs/build/css/global.411474ca17ade804f03e.min.css deleted file mode 100644 index 3095b438..00000000 --- a/docs/build/css/global.411474ca17ade804f03e.min.css +++ /dev/null @@ -1 +0,0 @@ -html{background-color:#fff}a,article,aside,body,button,code,div,em,figcaption,figure,footer,h1,h2,h3,h4,h5,h6,header,html,img,nav,p,section,span,strike,strong{margin:0;padding:0;border:0;box-sizing:border-box;font:inherit;font-size:100%;font-style:normal;vertical-align:baseline}a:after,a:before,article:after,article:before,aside:after,aside:before,body:after,body:before,button:after,button:before,code:after,code:before,div:after,div:before,em:after,em:before,figcaption:after,figcaption:before,figure:after,figure:before,footer:after,footer:before,h1:after,h1:before,h2:after,h2:before,h3:after,h3:before,h4:after,h4:before,h5:after,h5:before,h6:after,h6:before,header:after,header:before,html:after,html:before,img:after,img:before,nav:after,nav:before,p:after,p:before,section:after,section:before,span:after,span:before,strike:after,strike:before,strong:after,strong:before{box-sizing:inherit}article,aside,footer,header,main,nav,section{display:block}a{color:inherit;transition:color .25s ease}a,h1,h2,h3,h4,h5,h6{font-weight:700}em{font-style:italic}strong{font-weight:700}ol,ul{list-style-type:circle;margin:0;padding:0}figure{display:block;height:auto;margin:0;max-width:100%}figcaption{font-size:.75rem}img{width:100%}li code,p code{background-color:#f0f8ff;border:1px solid #d3d3d3;border-radius:2px;font:400 90% Courier,monospace;padding:0 .3em}hr{margin-left:auto;margin-right:auto;height:1px;border:none;background-color:#d3d3d3;width:80%;margin-bottom:1.75rem}:root{font-size:medium}body{background-color:#fff;color:#000;font-family:Consolas,Monaco,Andale Mono,monospace;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.3;-ms-overflow-style:-ms-autohiding-scrollbar;text-rendering:optimizeSpeed;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;word-break:keep-all}img{max-width:100%}img,svg{display:block;height:auto}svg{pointer-events:none;width:100%}h1{border-bottom:1px solid rgba(0,0,0,.3);font-size:2.25rem;margin-bottom:1.25rem;padding:1.25rem 0}h2{font-size:1.875rem}h3{font-size:1.25rem}p:not(:last-child){margin-bottom:1.75rem}a{color:#00f;text-decoration:none}a:focus,a:hover{text-decoration:underline}abbr{border-bottom:1px dotted rgba(0,0,0,.4);cursor:help;text-decoration:none}::-moz-selection{background-color:#000;color:#fff}::selection{background-color:#000;color:#fff}.site{margin-left:auto;margin-right:auto;width:calc(((100vw - 1.5rem)/8 - .4375rem)*8 + 3.5rem)}@media (min-width:64rem){.site{width:calc(((100vw - 3.75rem)/12 - 1.1458rem)*12 + 13.75rem);max-width:76.2504rem}}.header,.section{margin-bottom:6.25rem}.section-header{margin-bottom:1.25rem}.screen-reader-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;padding:0;width:1px}.screen-reader-only,.skip-link{overflow:hidden;position:absolute}.skip-link{margin-left:auto;margin-right:auto;background-color:#fff;color:inherit;left:0;opacity:0;padding:.3125rem;right:0;text-align:center;text-decoration:none;top:0;transform:translateY(-100%);transition:all .15s ease-in-out;width:9.375rem;z-index:-1}.skip-link:focus{opacity:1;transform:translateY(0);z-index:2147483647}.popup__wrapper___1Yxsi{display:inline-block;position:relative;width:100%}.popup__button___1zeIK,.popup__button___1zeIK[role=button]{align-items:center;border:1px solid #000;color:#000;display:inline-flex;justify-content:center;padding:.625rem;transition:background-color .2s,color .2s}.popup__button___1zeIK[role=button]:focus,.popup__button___1zeIK[role=button]:hover{text-decoration:none;background-color:#000;color:#fff}.popup__button___1zeIK:focus,.popup__button___1zeIK:hover{background-color:#000;color:#fff}.popup__info___3WtzY{background-color:#fff;border:1px solid;left:0;padding:.625rem;position:absolute;top:100%;width:100%;z-index:2}@media (min-width:64rem){.popup__info___3WtzY{left:calc(100% + 1.25rem);padding:1.25rem;width:calc(((100vw - 3.75rem)/12 - 1.1458rem)*6 + 6.25rem);max-width:37.5002rem;top:50%;transform:translateY(-50%)}}.popup__info___3WtzY[aria-hidden=true]{display:none}.tablist__list___38cjI{border:1px solid;border-bottom:none;display:inline-flex;list-style-type:none;position:relative;z-index:1}.tablist__list-item___RGRjD:not(:last-child){border-right:1px solid}[role=tab]{border-bottom:1px solid #000;display:block;padding:1.25rem}[role=tab][aria-selected=true]{border-bottom-color:#fff}.tablist__panel___2LnvB{border:1px solid;padding:1.25rem;position:relative;top:-1px;width:100%}@media (min-width:64rem){.tablist__panel___2LnvB{width:50%}}.tablist__panel___2LnvB[aria-hidden=true]{display:none}.listbox__wrapper___vuLL6{position:relative}.listbox__button___3F7gN{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;font:inherit;margin:0;background-color:transparent;align-items:center;border:1px solid #000;color:#000;display:inline-flex;justify-content:center;padding:.625rem;transition:background-color .2s,color .2s}.listbox__button___3F7gN:focus,.listbox__button___3F7gN:hover{background-color:#000;color:#fff}.listbox__list___1o2B-{background-color:#fff;border-radius:2px;border:1px solid rgba(12,18,28,.12);left:0;list-style-type:none;max-height:13.5rem;outline:none;-webkit-overflow-scrolling:touch;overflow-y:scroll;position:absolute;top:0}.listbox__list___1o2B-[aria-hidden=true]{display:none}.listbox__list-item___2HD6-{align-items:center;justify-content:center;padding:.625rem}.listbox__list-item___2HD6-[aria-selected=true]{background-color:#000;color:#fff}.menu__list___3cUrD{list-style-position:inside}.menu__sub-list___1KmG5{margin-left:1.25rem;margin-top:.625rem}.menu__list-item___3Q6CJ:not(:last-child){margin-bottom:.625rem}.dialog__dialog___7PAfy{background-color:#fff;border:1px solid #000;left:50%;max-height:calc(100vh - 1.5rem);max-width:31.25rem;overflow-y:scroll;padding:1.75rem .625rem .625rem;position:fixed;top:50%;transform:translate(-50%,-50%);width:calc(100vw - 1.5rem);z-index:1}.dialog__dialog___7PAfy[aria-hidden=true]{display:none}@media (min-width:64rem){.dialog__dialog___7PAfy{padding:1.75rem;width:31.25rem}}.dialog__link___C0Tx0[role=button]{align-items:center;border:1px solid #000;color:#000;display:inline-flex;justify-content:center;padding:.625rem;transition:background-color .2s,color .2s}.dialog__link___C0Tx0[role=button]:focus,.dialog__link___C0Tx0[role=button]:hover{text-decoration:none;background-color:#000;color:#fff}.dialog__closeButton___2neHI{background-color:#000;color:#fff;padding:.1875rem;position:absolute;right:0;top:0}.site[aria-hidden=true]{opacity:.3}.dialog__doc-link___3Yu20{display:block}.menubar__nav___31nXg{border-bottom:1px solid;border-top:1px solid;padding:1.25rem 0;width:100%}@media (min-width:64rem){.menubar__nav___31nXg{padding:1.25rem}}.menubar__list___TswFO{display:flex;justify-content:space-between;list-style-type:none}.menubar__list___TswFO [aria-hidden=true]{display:none}.menubar__list-item___24Io6{position:relative}.menubar__sub-list___qWbR9{background-color:#fff;border:1px solid;left:0;list-style-type:none;padding:10px;position:absolute;top:calc(100% + 1.25rem);width:-webkit-max-content;width:-moz-max-content;width:max-content}.menubar__sub-list___qWbR9 .menubar__list-item___24Io6:not(:last-child){margin-bottom:.625rem}.disclosure__list___104OE{list-style-type:none}@media (min-width:64rem){.disclosure__list___104OE{width:50%}}.disclosure__list-item___nmKr2{margin-bottom:1rem}.disclosure__button___3PGMt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;border:none;font:inherit;margin:0;background-color:transparent;padding:0;cursor:pointer}.disclosure__info___XvS-8{padding:.625rem}.disclosure__info___XvS-8[aria-hidden=true]{display:none}.menubutton__wrapper___2cwmG{display:inline-block;position:relative;width:100%}.menubutton__button___26www{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;font:inherit;margin:0;background-color:transparent}.menubutton__button___26www,.menubutton__button___26www[role=button]{align-items:center;border:1px solid #000;color:#000;display:inline-flex;justify-content:center;padding:.625rem;transition:background-color .2s,color .2s}.menubutton__button___26www[role=button]:focus,.menubutton__button___26www[role=button]:hover{text-decoration:none;background-color:#000;color:#fff}.menubutton__button___26www:focus,.menubutton__button___26www:hover{background-color:#000;color:#fff}.menubutton__menu-wrapper___1khK-{background-color:#fff;border:1px solid;left:0;padding:1.25rem;position:absolute;top:100%}@media (min-width:64rem){.menubutton__menu-wrapper___1khK-{width:calc(((100vw - 3.75rem)/12 - 1.1458rem)*6 + 6.25rem);max-width:37.5002rem}}.menubutton__menu-wrapper___1khK-[aria-hidden=true]{display:none}.menubutton__menu___peBMA{padding-left:1.25rem}.menubutton__sub-menu___2LTrZ{margin-left:1.25rem;margin-top:.625rem}.menubutton__menu-item___cYcgG:not(:last-child){margin-bottom:.625rem} \ No newline at end of file diff --git a/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js b/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js deleted file mode 100644 index 4655d841..00000000 --- a/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&'object'==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,'default',{enumerable:!0,value:e}),2&n&&'string'!=typeof e)for(var a in e)t.d(r,a,function(t){return e[t]}.bind(null,a));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(n,'a',n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='/build/',t(t.s=10)})([function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(e,t,n){'use strict';function r(e){return Object.keys(e).reduce(function(t,n){return t[n]='.'.concat(e[n]),t},{})}function a(e){if(Array.isArray(e))return e;let t=[];return e instanceof HTMLElement?t=Array(e):e instanceof NodeList&&(t=Array.prototype.slice.call(e,0)),t}function o(e){const t=Array.isArray(e)?e:a(e);t.forEach((e)=>{e.removeAttribute('tabindex')})}function i(e){const t=Array.isArray(e)?e:a(e);t.forEach((e)=>{e.setAttribute('tabindex','-1')})}function l(e,t){const n=Array.isArray(t)?t:a(t),r=Array.isArray(e)?e:a(e);if(o(n),0!n.includes(e));i(e)}}function d(e=36){const[,t]=Math.random().toString(e).split('.');return`id_${t}`}function s(e){null!==e&&''===e.id&&e.setAttribute('id',d())}function u(e,t){return void 0!==e&&null!==e&&e instanceof t}function c(e,t,n,r){const{next:a,previous:o}=r,i=n.indexOf(t),l=n.length-1;let d=e===o?i-1:i+1;return o===e&&0>d&&(d=l),a===e&&l{Object.defineProperty(e,this.componentName,{value:this,configurable:!0})})}getState(){return this.state}typeAhead(e,t){const n=String.fromCharCode(e);this.searchString+=n,this.keyClear&&(clearTimeout(this.keyClear),this.keyClear=null),this.keyClear=setTimeout(()=>{this.searchString='',this.keyClear=null},500);const r=t.filter((e)=>{const t=e.textContent.toLowerCase();return 0===t.indexOf(this.searchString.toLowerCase())});return r.length?r[0]:null}}const f=Object.freeze({TAB:9,RETURN:13,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40});var E=f,A=function(e){const t=e.querySelectorAll('a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not([tabindex^="-"])');return Array.prototype.slice.call(t)};class C extends y{constructor(e){super(e),this.componentName='popup';Object.assign(this,{controller:null,target:null,type:'true',onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={expanded:!1},this.init=this.init.bind(this),this.stateWasUpdated=this.stateWasUpdated.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.controllerClickHandler=this.controllerClickHandler.bind(this),this.controllerKeyDownHandler=this.controllerKeyDownHandler.bind(this),this.targetKeyDownHandler=this.targetKeyDownHandler.bind(this),this.hideOnTabOut=this.hideOnTabOut.bind(this),this.hideOnOutsideClick=this.hideOnOutsideClick.bind(this),this.destroy=this.destroy.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){if(super.setSelfReference([this.controller,this.target]),this.interactiveChildElements=A(this.target),0{},onDestroy:()=>{}},e),this.handleListKeydown=this.handleListKeydown.bind(this),this.destroy=this.destroy.bind(this),null!==this.menu&&'UL'===this.menu.nodeName&&this.init()}init(){super.setSelfReference([this.menu]),this.menu.setAttribute('role','menu'),this.listItems=Array.prototype.slice.call(this.menu.children),this.menuItems=this.listItems.reduce((e,t)=>{const n=t.firstElementChild;return null!==n&&'A'===n.nodeName?[...e,n]:e},[]),this.menuItemsLength=this.menuItems.length,this.menu.addEventListener('keydown',this.handleListKeydown),h(S.getHelpIds()),this.menuItems.forEach((e,t)=>{e.parentElement.setAttribute('role','presentation'),e.setAttribute('role','menuitem'),e.setAttribute('aria-describedby','ac-describe-submenu-explore ac-describe-submenu-help ac-describe-submenu-back ac-describe-esc-help'),e.setAttribute('aria-setsize',this.menuItemsLength),e.setAttribute('aria-posinset',t+1);const n=this.constructor.nextElementIsUl(e);if(n){const t=new S({menu:n});t.previousSibling=e}});const[e]=this.menuItems,t=this.menuItems[this.menuItems.length-1];Object.assign(this,{firstItem:e,lastItem:t}),this.onInit.call(this)}handleListKeydown(e){const{keyCode:t}=e,{UP:n,DOWN:r,LEFT:a,RIGHT:o,HOME:i,END:l}=E,{activeElement:d}=document,s=this.menu.contains(d)?d:this.menuItems[0];switch(t){case n:case r:{const n=p(t,s,this.menuItems);n&&(e.stopPropagation(),e.preventDefault(),n.focus());break}case i:{e.preventDefault(),this.firstItem.focus();break}case l:{e.preventDefault(),this.lastItem.focus();break}case o:{const t=this.constructor.nextElementIsUl(s);if(t&&u(t.menu,S)){e.stopPropagation(),e.preventDefault();const{menu:n}=t;n.firstItem.focus()}break}case a:{void 0===this.previousSibling||this.previousSibling.hasAttribute('aria-haspopup')||(e.preventDefault(),e.stopPropagation(),this.previousSibling.focus());break}default:{const e=this.typeAhead(t,this.menuItems);null!==e&&e.focus();break}}}destroy(){delete this.menu.menu,this.menuItems.forEach((e)=>{e.parentElement.removeAttribute('role'),e.removeAttribute('role'),e.removeAttribute('aria-describedby'),e.removeAttribute('aria-setsize'),e.removeAttribute('aria-posinset'),e.removeEventListener('keydown',this.handleListKeydown);const t=this.constructor.nextElementIsUl(e);t&&u(t.menu,S)&&t.menu.destroy()}),this.onDestroy.call(this)}}class x extends y{constructor(e){super(e),this.componentName='disclosure';Object.assign(this,{controller:null,target:null,loadOpen:!1,allowOutsideClick:!0,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={expanded:this.loadOpen},this.init=this.init.bind(this),this.destroy=this.destroy.bind(this),this.open=this.open.bind(this),this.close=this.close.bind(this),this.handleControllerKeydown=this.handleControllerKeydown.bind(this),this.toggleExpandedState=this.toggleExpandedState.bind(this),this.closeOnOutsideClick=this.closeOnOutsideClick.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){super.setSelfReference([this.controller,this.target]);const{expanded:e}=this.state;this.interactiveChildElements=A(this.target),[this.controller,this.target].forEach((e)=>{s(e)}),this.controller.setAttribute('aria-expanded',`${e}`),this.controller.setAttribute('aria-controls',this.target.id),'BUTTON'!==this.controller.nodeName&&(this.controller.setAttribute('role','button'),'A'!==this.controller.nodeName&&null===this.controller.getAttribute('tabindex')&&this.controller.setAttribute('tabindex','0')),this.target!==this.controller.nextElementSibling&&this.controller.setAttribute('aria-owns',this.target.id),e||this.target.setAttribute('aria-hidden','true'),this.controller.addEventListener('click',this.toggleExpandedState),this.controller.addEventListener('keydown',this.handleControllerKeydown),this.allowOutsideClick||document.body.addEventListener('click',this.closeOnOutsideClick),i(this.interactiveChildElements),this.onInit.call(this)}stateWasUpdated({expanded:e}){this.controller.setAttribute('aria-expanded',`${e}`),e?this.target.removeAttribute('aria-hidden'):this.target.setAttribute('aria-hidden','true'),e?o(this.interactiveChildElements):i(this.interactiveChildElements),this.onStateChange.call(this,this.state)}handleControllerKeydown(e){const{SPACE:t,RETURN:n}=E,{keyCode:r}=e;[t,n].includes(r)&&this.toggleExpandedState(e)}toggleExpandedState(e){e.preventDefault(),this.state.expanded?this.close():this.open()}closeOnOutsideClick(e){this.state.expanded&&e.target!==this.controller&&!this.target.contains(e.target)&&this.close()}destroy(){delete this.controller.disclosure,delete this.target.disclosure,this.controller.removeAttribute('aria-expanded'),this.controller.removeAttribute('aria-controls'),this.controller.removeAttribute('aria-owns'),this.controller.removeAttribute('tabindex'),this.target.removeAttribute('aria-hidden'),this.controller.removeEventListener('click',this.toggleExpandedState),document.body.removeEventListener('click',this.closeOnOutsideClick),this.state={expanded:this.loadOpen},this.onDestroy.call(this)}open(){this.setState({expanded:!0})}close(){this.setState({expanded:!1})}}class I extends y{static createCloseButton(){const e=document.createElement('button');return e.innerText='Close',e}constructor(e){super(e),this.componentName='dialog';const t={controller:null,target:null,content:null,close:this.constructor.createCloseButton(),onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}};Object.assign(this,t,e),void 0===e.close&&null!==this.target&&this.target.insertBefore(this.close,this.target.firstChild),this.onPopupStateChange=this.onPopupStateChange.bind(this),this.handleTargetKeydown=this.handleTargetKeydown.bind(this),this.handleKeydownEsc=this.handleKeydownEsc.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),null===this.controller||null===this.target||null===this.content||this.content.contains(this.target)||this.init()}init(){super.setSelfReference([this.controller,this.target]),this.popup=new C({controller:this.controller,target:this.target,type:'dialog',onStateChange:this.onPopupStateChange}),this.interactiveChildren=A(this.target),this.close.addEventListener('click',this.hide),this.target.addEventListener('keydown',this.handleTargetKeydown),this.popup.target.removeEventListener('keydown',this.popup.targetKeyDownHandler),this.onInit.call(this)}onPopupStateChange({expanded:e}){this.interactiveChildren=A(this.target),e?(this.content.setAttribute('aria-hidden','true'),document.body.addEventListener('keydown',this.handleKeydownEsc),this.close.focus()):(this.content.removeAttribute('aria-hidden'),document.body.removeEventListener('keydown',this.handleKeydownEsc),this.controller.focus()),this.onStateChange.call(this,this.state)}outsideClick(e){const{expanded:t}=this.popup.getState();t&&!this.target.contains(e.target)&&this.hide()}handleTargetKeydown(e){const{TAB:t}=E,{keyCode:n,shiftKey:r}=e;if(this.popup.getState().expanded&&n===t){const{activeElement:t}=document,n=this.interactiveChildren.length-1,[a]=this.interactiveChildren,o=this.interactiveChildren[n];r&&a===t?(e.preventDefault(),o.focus()):!r&&o===t&&(e.preventDefault(),a.focus())}}handleKeydownEsc(e){const{ESC:t}=E,{keyCode:n}=e;t===n&&this.hide()}destroy(){delete this.controller.dialog,delete this.target.dialog,this.popup.destroy(),this.close.removeEventListener('click',this.hide),this.target.removeEventListener('keydown',this.handleTargetKeydown),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}var w=n(2),k=r(siteClassNames.popup),D=k.button,L=k.info,T=document.querySelector(D),O=document.querySelector(L),K=new C({controller:T,target:O}),N=n(3),B=r(siteClassNames.tablist),P=B.list,U=B.panel,H=document.querySelector(P),R=document.querySelectorAll(U),q=new class extends y{constructor(e){if(super(),'UL'!==e.tablist.nodeName)return void console.warn('Tablist requires a
    for the tabs.');this.componentName='tablist';Object.assign(this,{tablist:null,panels:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={activeIndex:0},this.handlePanelKeydown=this.handlePanelKeydown.bind(this),this.handleTabsKeydown=this.handleTabsKeydown.bind(this),this.handleTabsClick=this.handleTabsClick.bind(this),this.switchTo=this.switchTo.bind(this),this.destroy=this.destroy.bind(this),Array.isArray(this.panels)||(this.panels=Array.prototype.slice.call(this.panels)),this.tabs=Array.prototype.filter.call(this.tablist.children,(e)=>null!==e.querySelector('a[href]')).map((e)=>e.querySelector('a[href]')),this.tabs.length===this.panels.length&&this.init()}init(){const{activeIndex:e}=this.state;this.tablist.setAttribute('role','tablist'),Array.prototype.forEach.call(this.tablist.children,(e)=>{'LI'===e.nodeName&&e.setAttribute('role','presentation')}),this.tabs.forEach((t,n)=>{super.setSelfReference([t]),s(t),t.setAttribute('role','tab'),e===n?t.setAttribute('aria-selected','true'):t.setAttribute('tabindex','-1'),t.setAttribute('aria-controls',this.panels[n].id)}),this.tablist.addEventListener('click',this.handleTabsClick),this.tablist.addEventListener('keydown',this.handleTabsKeydown),this.panels.forEach((t,n)=>{super.setSelfReference([t]),s(t),t.setAttribute('role','tabpanel'),t.setAttribute('aria-labelledby',this.tabs[n].id),e===n?t.setAttribute('tabindex','0'):t.setAttribute('aria-hidden','true'),t.addEventListener('keydown',this.handlePanelKeydown)}),this.interactiveChildren=A(this.panels[e]),this.onInit.call(this)}stateWasUpdated({activeIndex:e}){const[t]=this.tabs.filter((e)=>'true'===e.getAttribute('aria-selected')),n=this.tabs.indexOf(t);t.setAttribute('tabindex','-1'),t.removeAttribute('aria-selected'),this.panels[n].setAttribute('aria-hidden','true'),this.panels[n].removeAttribute('tabindex');const r=A(this.panels[n]);i(r),this.tabs[e].removeAttribute('tabindex'),this.tabs[e].setAttribute('aria-selected','true'),this.panels[e].removeAttribute('aria-hidden'),this.panels[e].setAttribute('tabindex','0'),this.interactiveChildren=A(this.panels[e]),o(this.interactiveChildren),this.onStateChange.call(this,this.state)}handlePanelKeydown(e){const{TAB:t}=E,{activeIndex:n}=this.state,{keyCode:r,shiftKey:a}=e,{activeElement:o}=document,[i]=this.interactiveChildren;r===t&&a&&(o===this.panels[n]?(e.preventDefault(),this.tabs[n].focus()):o===i&&(e.preventDefault(),this.panels[n].focus()))}handleTabsKeydown(e){const{TAB:t,LEFT:n,RIGHT:r,DOWN:a,HOME:o,END:i}=E,{keyCode:l,shiftKey:d,target:s}=e,u=this.tabs.indexOf(s);switch(l){case t:{d||(e.preventDefault(),this.panels[u].focus());break}case n:case r:{const t=b(l,s,this.tabs);t&&(e.preventDefault(),this.switchTo(this.tabs.indexOf(t)),t.focus());break}case a:{e.preventDefault(),this.panels[u].setAttribute('tabindex','0'),this.panels[u].focus();break}case o:{e.preventDefault(),this.switchTo(0),this.tabs[0].focus();break}case i:{e.preventDefault();const t=this.tabs.length-1;this.switchTo(t),this.tabs[t].focus();break}default:}}handleTabsClick(e){const{target:t}=e;e.preventDefault(),'true'!==t.getAttribute('aria-selected')&&this.tabs.includes(t)&&this.switchTo(this.tabs.indexOf(t))}switchTo(e){this.setState({activeIndex:e})}destroy(){this.tablist.removeAttribute('role'),Array.prototype.forEach.call(this.tablist.children,(e)=>{'LI'===e.nodeName&&e.removeAttribute('role')}),this.tabs.forEach((e)=>{delete e.tablist,e.removeAttribute('role'),e.removeAttribute('aria-selected'),e.removeAttribute('tabindex'),e.removeAttribute('aria-controls'),e.removeEventListener('click',this.handleTabsClick),e.removeEventListener('keydown',this.handleTabsKeydown)}),this.panels.forEach((e)=>{delete e.tablist,e.removeAttribute('role'),e.removeAttribute('aria-hidden'),e.removeAttribute('tabindex');const t=A(e);o(t),e.removeEventListener('keydown',this.handlePanelKeydown)}),this.onDestroy.call(this)}}({tablist:H,panels:R}),W=n(4),M=r(siteClassNames.listbox),F=M.button,_=M.list,z=document.querySelector(F),G=document.querySelector(_),j=new class extends y{constructor(e){super(e),this.componentName='listbox';Object.assign(this,{controller:null,target:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.preventWindowScroll=this.preventWindowScroll.bind(this),this.handleControllerKeyup=this.handleControllerKeyup.bind(this),this.handleTargetKeydown=this.handleTargetKeydown.bind(this),this.handleTargetClicks=this.handleTargetClicks.bind(this),this.handleTargetBlur=this.handleTargetBlur.bind(this),this.scrollOptionIntoView=this.scrollOptionIntoView.bind(this),this.popupStateWasUpdated=this.popupStateWasUpdated.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),this.init()}init(){super.setSelfReference([this.controller,this.target]),this.options=Array.prototype.slice.call(this.target.children,0),this.options.forEach((e)=>{s(e),e.setAttribute('role','option')});const[e]=this.options,t=this.options[this.options.length-1];Object.assign(this,{firstOption:e,lastOption:t}),this.state={activeDescendant:this.firstOption},this.popup=new C({controller:this.controller,target:this.target,type:'listbox',onStateChange:this.popupStateWasUpdated}),this.target.setAttribute('role','listbox'),this.target.setAttribute('tabindex','-1'),this.controller.addEventListener('keydown',this.handleControllerKeyup),this.target.addEventListener('keydown',this.handleTargetKeydown),this.target.addEventListener('click',this.handleTargetClicks),this.target.addEventListener('blur',this.handleTargetBlur),window.addEventListener('keydown',this.preventWindowScroll),this.onInit.call(this)}stateWasUpdated({activeDescendant:e}){const t=this.target.querySelector('[aria-selected="true"]');null!==t&&t.removeAttribute('aria-selected'),e.setAttribute('aria-selected','true'),this.target.setAttribute('aria-activedescendant',e.id),this.scrollOptionIntoView(e),this.onStateChange.call(this,this.state)}popupStateWasUpdated({expanded:e}){const{activeDescendant:t}=this.state;e?(this.setState({activeDescendant:t}),this.target.focus()):(this.target.removeAttribute('aria-activedescendant'),this.controller.textContent=t.textContent,this.target.contains(document.activeElement)&&this.controller.focus())}preventWindowScroll(e){const{UP:t,DOWN:n}=E,{target:r,keyCode:a}=e;r===this.target&&[t,n].includes(a)&&e.preventDefault()}handleControllerKeyup(e){const{UP:t,DOWN:n}=E;[t,n].includes(e.keyCode)&&(e.preventDefault(),this.show())}handleTargetKeydown(e){const{activeDescendant:t}=this.state,{keyCode:n}=e,{RETURN:r,ESC:a,UP:o,DOWN:i,SPACE:l,HOME:d,END:s}=E;switch(n){case a:case r:case l:{e.preventDefault(),this.hide(),this.controller.focus();break}case o:case i:{let r=t;r=n===o?r.previousElementSibling:r.nextElementSibling,r&&(e.preventDefault(),this.setState({activeDescendant:r}));break}case d:{e.preventDefault(),this.setState({activeDescendant:this.firstOption});break}case s:{e.preventDefault(),this.setState({activeDescendant:this.lastOption});break}default:{const e=this.typeAhead(n,this.options);null!==e&&this.setState({activeDescendant:e});break}}}handleTargetClicks(e){this.setState({activeDescendant:e.target}),this.hide()}handleTargetBlur(){this.popup.getState().expanded&&this.hide()}scrollOptionIntoView(e){const{scrollHeight:t,clientHeight:n,scrollTop:r}=this.target,{offsetTop:a,offsetHeight:o}=e;if(t>n){const e=a+o;e>n+r?this.target.scrollTop=e-n:a{e.removeAttribute('role')}),this.popup.destroy(),this.target.removeAttribute('role'),this.target.removeAttribute('tabindex'),this.controller.removeEventListener('keyup',this.handleControllerKeyup),this.target.removeEventListener('keydown',this.handleTargetKeydown),this.target.removeEventListener('click',this.handleTargetClicks),this.target.removeEventListener('blur',this.handleTargetBlur),window.removeEventListener('keydown',this.preventWindowScroll),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}({controller:z,target:G}),V=n(5),Q=r(siteClassNames.menu),X=Q.list,Y=document.querySelector(X),Z=new S({menu:Y}),$=n(6),J=r(siteClassNames.dialog),ee=J.link,te=J.closeButton;window.addEventListener('load',function(){var e=document.querySelector(ee),t=document.getElementById('dialog'),n=document.querySelector(te),r=document.querySelector('.site'),a=new I({controller:e,target:t,close:n,content:r})});var ne=n(7),re=r(siteClassNames.menubar),ae=re.list,oe=document.querySelector(ae),ie=new class extends y{static getPopupFromMenubarItem(e){return!!u(e.popup,C)&&e.popup}static getHelpIds(){return['#ac-describe-top-level-help','#ac-describe-submenu-help','#ac-describe-esc-help']}constructor(e){super(e),this.componentName='menuBar';Object.assign(this,{menu:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{},onPopupInit:()=>{},onPopupStateChange:()=>{},onPopupDestroy:()=>{}},e),this.handleMenuBarKeydown=this.handleMenuBarKeydown.bind(this),this.handleMenuBarClick=this.handleMenuBarClick.bind(this),this.handleMenuItemKeydown=this.handleMenuItemKeydown.bind(this),this.stateWasUpdated=this.stateWasUpdated.bind(this),this.destroy=this.destroy.bind(this),null!==this.menu&&'UL'===this.menu.nodeName&&this.init()}init(){super.setSelfReference([this.menu]),this.menu.setAttribute('role','menubar'),this.menuBarChildren=Array.prototype.slice.call(this.menu.children),this.menuBarItems=this.menuBarChildren.reduce((e,t)=>{const n=t.firstElementChild;return null!==n&&'A'===n.nodeName?[...e,n]:e},[]),this.menuLength=this.menuBarItems.length,h(S.getHelpIds()),this.menuBarItems.forEach((e,t)=>{e.setAttribute('role','menuitem'),e.setAttribute('aria-describedby','ac-describe-top-level-help ac-describe-submenu-help ac-describe-esc-help'),e.setAttribute('aria-setsize',this.menuLength),e.setAttribute('aria-posinset',t+1),e.parentElement.setAttribute('role','presentation'),e.parentElement.addEventListener('keydown',this.handleMenuBarKeydown),e.addEventListener('click',this.handleMenuBarClick)}),this.lastIndex=this.menuLength-1,this.clickEvent=new MouseEvent('click',{view:window,bubbles:!0,cancelable:!0}),this.popups=this.menuBarItems.reduce((e,t)=>{const n=t.nextElementSibling;if(null!==n&&'UL'===n.nodeName){const r=new C({controller:t,target:n,onStateChange:this.onPopupStateChange,onInit:this.onPopupInit,onDestroy:this.onPopupDestroy,type:'menu'}),a=new S({menu:n});return n.addEventListener('keydown',this.handleMenuItemKeydown),a.previousSibling=t,[...e,r]}return e},[]);const[e]=this.menuBarItems;this.state={menubarItem:e,popup:this.constructor.getPopupFromMenubarItem(e)},l(this.menuBarItems,e),this.onInit.call(this)}stateWasUpdated({menubarItem:e}){const t=this.constructor.getPopupFromMenubarItem(e);Object.assign(this.state,{popup:t}),l(this.menuBarItems,e),e.focus(),this.onStateChange.call(this,this.state)}handleMenuBarKeydown(e){const{LEFT:t,RIGHT:n,DOWN:r,HOME:a,END:o,SPACE:i,RETURN:l}=E,{keyCode:d}=e,{menubarItem:s,popup:u}=this.state;switch(d){case t:case n:{const t=b(d,s,this.menuBarItems);t&&(e.stopPropagation(),e.preventDefault(),u&&u.setState({expanded:!1}),this.setState({menubarItem:t}));break}case i:case l:case r:{u&&(e.stopPropagation(),e.preventDefault(),!u.state.expanded&&u.setState({expanded:!0}),u.firstChild.focus());break}case a:{e.preventDefault();const[t]=this.menuBarItems;this.setState({menubarItem:t});break}case o:{e.preventDefault(),this.setState({menubarItem:this.menuBarItems[this.lastIndex]});break}default:{const e=this.typeAhead(d,this.menuBarItems);null!==e&&this.setState({menubarItem:e});break}}}handleMenuBarClick(e){this.setState({menubarItem:e.target})}handleMenuItemKeydown(e){const{SPACE:t,RETURN:n}=E,{keyCode:r,target:a}=e;[t,n].includes(r)&&'A'===a.nodeName&&(e.stopPropagation(),e.preventDefault(),a.dispatchEvent(this.clickEvent))}destroy(){delete this.menu.menuBar,this.menu.removeAttribute('role'),this.menuBarItems.forEach((e)=>{e.parentElement.removeAttribute('role'),e.removeAttribute('aria-describedby'),e.removeAttribute('aria-setsize'),e.removeAttribute('aria-posinset'),e.removeAttribute('role'),e.parentElement.removeEventListener('keydown',this.handleMenuBarKeydown),e.removeEventListener('click',this.handleMenuBarClick)}),this.popups.forEach((e)=>{u(e.target.menu,S)&&e.target.menu.destroy(),e.destroy()}),o(this.menuBarItems),this.onDestroy.call(this)}}({menu:oe}),le=n(8),de=r(siteClassNames.disclosure),se=de.button,ue=de.info,ce=document.querySelectorAll(se),pe=document.querySelectorAll(ue);if(ce.length===pe.length)Array.prototype.map.call(ce,function(e,t){return new x({controller:e,target:pe[t]})});var be=n(9),me=r(siteClassNames.menubutton),he=me.button,ge=me['menu-wrapper'],ve=me.menu,ye=document.querySelector(he),fe=document.querySelector(ge),Ee=document.querySelector(ve),Ae=new class extends y{constructor(e){super(e),this.componentName='menuButton';Object.assign(this,{controller:null,target:null,list:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.handleControllerKeydown=this.handleControllerKeydown.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){this.popup=new C({controller:this.controller,target:this.target,type:'menu',onStateChange:this.onStateChange}),null!==this.list&&'UL'===this.list.nodeName?this.menu=new S({menu:this.list}):'UL'===this.target.nodeName&&(this.menu=new S({menu:this.target})),this.controller.addEventListener('keydown',this.handleControllerKeydown),this.onInit.call(this)}handleControllerKeydown(e){const{keyCode:t}=e,{RETURN:n,UP:r,DOWN:a,SPACE:o}=E;switch(t){case n:case o:case a:{e.preventDefault(),this.show(),this.menu.firstItem&&this.menu.firstItem.focus();break}case r:{e.preventDefault(),this.show(),this.menu.lastItem&&this.menu.lastItem.focus();break}default:}}destroy(){this.popup.destroy(),this.menu.destroy(),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}({controller:ye,target:fe,list:Ee})}]); -//# sourceMappingURL=global.8509de6c14ab4dd4c86b.bundle.min.js.map \ No newline at end of file diff --git a/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js.map b/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js.map deleted file mode 100644 index 9138aff7..00000000 --- a/docs/build/js/global.8509de6c14ab4dd4c86b.bundle.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/global.8509de6c14ab4dd4c86b.bundle.min.js","sources":["webpack:///js/global.8509de6c14ab4dd4c86b.bundle.min.js"],"sourcesContent":["(function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&'object'==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,'default',{enumerable:!0,value:e}),2&n&&'string'!=typeof e)for(var a in e)t.d(r,a,function(t){return e[t]}.bind(null,a));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e['default']}:function(){return e};return t.d(n,'a',n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p='/build/',t(t.s=10)})([function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(e,t,n){'use strict';function r(e){return Object.keys(e).reduce(function(t,n){return t[n]='.'.concat(e[n]),t},{})}function a(e){if(Array.isArray(e))return e;let t=[];return e instanceof HTMLElement?t=Array(e):e instanceof NodeList&&(t=Array.prototype.slice.call(e,0)),t}function o(e){const t=Array.isArray(e)?e:a(e);t.forEach((e)=>{e.removeAttribute('tabindex')})}function i(e){const t=Array.isArray(e)?e:a(e);t.forEach((e)=>{e.setAttribute('tabindex','-1')})}function l(e,t){const n=Array.isArray(t)?t:a(t),r=Array.isArray(e)?e:a(e);if(o(n),0!n.includes(e));i(e)}}function d(e=36){const[,t]=Math.random().toString(e).split('.');return`id_${t}`}function s(e){null!==e&&''===e.id&&e.setAttribute('id',d())}function u(e,t){return void 0!==e&&null!==e&&e instanceof t}function c(e,t,n,r){const{next:a,previous:o}=r,i=n.indexOf(t),l=n.length-1;let d=e===o?i-1:i+1;return o===e&&0>d&&(d=l),a===e&&l{Object.defineProperty(e,this.componentName,{value:this,configurable:!0})})}getState(){return this.state}typeAhead(e,t){const n=String.fromCharCode(e);this.searchString+=n,this.keyClear&&(clearTimeout(this.keyClear),this.keyClear=null),this.keyClear=setTimeout(()=>{this.searchString='',this.keyClear=null},500);const r=t.filter((e)=>{const t=e.textContent.toLowerCase();return 0===t.indexOf(this.searchString.toLowerCase())});return r.length?r[0]:null}}const f=Object.freeze({TAB:9,RETURN:13,ESC:27,SPACE:32,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40});var E=f,A=function(e){const t=e.querySelectorAll('a[href],area[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),button:not([disabled]),iframe,object,embed,[contenteditable],[tabindex]:not([tabindex^=\"-\"])');return Array.prototype.slice.call(t)};class C extends y{constructor(e){super(e),this.componentName='popup';Object.assign(this,{controller:null,target:null,type:'true',onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={expanded:!1},this.init=this.init.bind(this),this.stateWasUpdated=this.stateWasUpdated.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.controllerClickHandler=this.controllerClickHandler.bind(this),this.controllerKeyDownHandler=this.controllerKeyDownHandler.bind(this),this.targetKeyDownHandler=this.targetKeyDownHandler.bind(this),this.hideOnTabOut=this.hideOnTabOut.bind(this),this.hideOnOutsideClick=this.hideOnOutsideClick.bind(this),this.destroy=this.destroy.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){if(super.setSelfReference([this.controller,this.target]),this.interactiveChildElements=A(this.target),0{},onDestroy:()=>{}},e),this.handleListKeydown=this.handleListKeydown.bind(this),this.destroy=this.destroy.bind(this),null!==this.menu&&'UL'===this.menu.nodeName&&this.init()}init(){super.setSelfReference([this.menu]),this.menu.setAttribute('role','menu'),this.listItems=Array.prototype.slice.call(this.menu.children),this.menuItems=this.listItems.reduce((e,t)=>{const n=t.firstElementChild;return null!==n&&'A'===n.nodeName?[...e,n]:e},[]),this.menuItemsLength=this.menuItems.length,this.menu.addEventListener('keydown',this.handleListKeydown),h(S.getHelpIds()),this.menuItems.forEach((e,t)=>{e.parentElement.setAttribute('role','presentation'),e.setAttribute('role','menuitem'),e.setAttribute('aria-describedby','ac-describe-submenu-explore ac-describe-submenu-help ac-describe-submenu-back ac-describe-esc-help'),e.setAttribute('aria-setsize',this.menuItemsLength),e.setAttribute('aria-posinset',t+1);const n=this.constructor.nextElementIsUl(e);if(n){const t=new S({menu:n});t.previousSibling=e}});const[e]=this.menuItems,t=this.menuItems[this.menuItems.length-1];Object.assign(this,{firstItem:e,lastItem:t}),this.onInit.call(this)}handleListKeydown(e){const{keyCode:t}=e,{UP:n,DOWN:r,LEFT:a,RIGHT:o,HOME:i,END:l}=E,{activeElement:d}=document,s=this.menu.contains(d)?d:this.menuItems[0];switch(t){case n:case r:{const n=p(t,s,this.menuItems);n&&(e.stopPropagation(),e.preventDefault(),n.focus());break}case i:{e.preventDefault(),this.firstItem.focus();break}case l:{e.preventDefault(),this.lastItem.focus();break}case o:{const t=this.constructor.nextElementIsUl(s);if(t&&u(t.menu,S)){e.stopPropagation(),e.preventDefault();const{menu:n}=t;n.firstItem.focus()}break}case a:{void 0===this.previousSibling||this.previousSibling.hasAttribute('aria-haspopup')||(e.preventDefault(),e.stopPropagation(),this.previousSibling.focus());break}default:{const e=this.typeAhead(t,this.menuItems);null!==e&&e.focus();break}}}destroy(){delete this.menu.menu,this.menuItems.forEach((e)=>{e.parentElement.removeAttribute('role'),e.removeAttribute('role'),e.removeAttribute('aria-describedby'),e.removeAttribute('aria-setsize'),e.removeAttribute('aria-posinset'),e.removeEventListener('keydown',this.handleListKeydown);const t=this.constructor.nextElementIsUl(e);t&&u(t.menu,S)&&t.menu.destroy()}),this.onDestroy.call(this)}}class x extends y{constructor(e){super(e),this.componentName='disclosure';Object.assign(this,{controller:null,target:null,loadOpen:!1,allowOutsideClick:!0,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={expanded:this.loadOpen},this.init=this.init.bind(this),this.destroy=this.destroy.bind(this),this.open=this.open.bind(this),this.close=this.close.bind(this),this.handleControllerKeydown=this.handleControllerKeydown.bind(this),this.toggleExpandedState=this.toggleExpandedState.bind(this),this.closeOnOutsideClick=this.closeOnOutsideClick.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){super.setSelfReference([this.controller,this.target]);const{expanded:e}=this.state;this.interactiveChildElements=A(this.target),[this.controller,this.target].forEach((e)=>{s(e)}),this.controller.setAttribute('aria-expanded',`${e}`),this.controller.setAttribute('aria-controls',this.target.id),'BUTTON'!==this.controller.nodeName&&(this.controller.setAttribute('role','button'),'A'!==this.controller.nodeName&&null===this.controller.getAttribute('tabindex')&&this.controller.setAttribute('tabindex','0')),this.target!==this.controller.nextElementSibling&&this.controller.setAttribute('aria-owns',this.target.id),e||this.target.setAttribute('aria-hidden','true'),this.controller.addEventListener('click',this.toggleExpandedState),this.controller.addEventListener('keydown',this.handleControllerKeydown),this.allowOutsideClick||document.body.addEventListener('click',this.closeOnOutsideClick),i(this.interactiveChildElements),this.onInit.call(this)}stateWasUpdated({expanded:e}){this.controller.setAttribute('aria-expanded',`${e}`),e?this.target.removeAttribute('aria-hidden'):this.target.setAttribute('aria-hidden','true'),e?o(this.interactiveChildElements):i(this.interactiveChildElements),this.onStateChange.call(this,this.state)}handleControllerKeydown(e){const{SPACE:t,RETURN:n}=E,{keyCode:r}=e;[t,n].includes(r)&&this.toggleExpandedState(e)}toggleExpandedState(e){e.preventDefault(),this.state.expanded?this.close():this.open()}closeOnOutsideClick(e){this.state.expanded&&e.target!==this.controller&&!this.target.contains(e.target)&&this.close()}destroy(){delete this.controller.disclosure,delete this.target.disclosure,this.controller.removeAttribute('aria-expanded'),this.controller.removeAttribute('aria-controls'),this.controller.removeAttribute('aria-owns'),this.controller.removeAttribute('tabindex'),this.target.removeAttribute('aria-hidden'),this.controller.removeEventListener('click',this.toggleExpandedState),document.body.removeEventListener('click',this.closeOnOutsideClick),this.state={expanded:this.loadOpen},this.onDestroy.call(this)}open(){this.setState({expanded:!0})}close(){this.setState({expanded:!1})}}class I extends y{static createCloseButton(){const e=document.createElement('button');return e.innerText='Close',e}constructor(e){super(e),this.componentName='dialog';const t={controller:null,target:null,content:null,close:this.constructor.createCloseButton(),onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}};Object.assign(this,t,e),void 0===e.close&&null!==this.target&&this.target.insertBefore(this.close,this.target.firstChild),this.onPopupStateChange=this.onPopupStateChange.bind(this),this.handleTargetKeydown=this.handleTargetKeydown.bind(this),this.handleKeydownEsc=this.handleKeydownEsc.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),null===this.controller||null===this.target||null===this.content||this.content.contains(this.target)||this.init()}init(){super.setSelfReference([this.controller,this.target]),this.popup=new C({controller:this.controller,target:this.target,type:'dialog',onStateChange:this.onPopupStateChange}),this.interactiveChildren=A(this.target),this.close.addEventListener('click',this.hide),this.target.addEventListener('keydown',this.handleTargetKeydown),this.popup.target.removeEventListener('keydown',this.popup.targetKeyDownHandler),this.onInit.call(this)}onPopupStateChange({expanded:e}){this.interactiveChildren=A(this.target),e?(this.content.setAttribute('aria-hidden','true'),document.body.addEventListener('keydown',this.handleKeydownEsc),this.close.focus()):(this.content.removeAttribute('aria-hidden'),document.body.removeEventListener('keydown',this.handleKeydownEsc),this.controller.focus()),this.onStateChange.call(this,this.state)}outsideClick(e){const{expanded:t}=this.popup.getState();t&&!this.target.contains(e.target)&&this.hide()}handleTargetKeydown(e){const{TAB:t}=E,{keyCode:n,shiftKey:r}=e;if(this.popup.getState().expanded&&n===t){const{activeElement:t}=document,n=this.interactiveChildren.length-1,[a]=this.interactiveChildren,o=this.interactiveChildren[n];r&&a===t?(e.preventDefault(),o.focus()):!r&&o===t&&(e.preventDefault(),a.focus())}}handleKeydownEsc(e){const{ESC:t}=E,{keyCode:n}=e;t===n&&this.hide()}destroy(){delete this.controller.dialog,delete this.target.dialog,this.popup.destroy(),this.close.removeEventListener('click',this.hide),this.target.removeEventListener('keydown',this.handleTargetKeydown),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}var w=n(2),k=r(siteClassNames.popup),D=k.button,L=k.info,T=document.querySelector(D),O=document.querySelector(L),K=new C({controller:T,target:O}),N=n(3),B=r(siteClassNames.tablist),P=B.list,U=B.panel,H=document.querySelector(P),R=document.querySelectorAll(U),q=new class extends y{constructor(e){if(super(),'UL'!==e.tablist.nodeName)return void console.warn('Tablist requires a
      for the tabs.');this.componentName='tablist';Object.assign(this,{tablist:null,panels:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.state={activeIndex:0},this.handlePanelKeydown=this.handlePanelKeydown.bind(this),this.handleTabsKeydown=this.handleTabsKeydown.bind(this),this.handleTabsClick=this.handleTabsClick.bind(this),this.switchTo=this.switchTo.bind(this),this.destroy=this.destroy.bind(this),Array.isArray(this.panels)||(this.panels=Array.prototype.slice.call(this.panels)),this.tabs=Array.prototype.filter.call(this.tablist.children,(e)=>null!==e.querySelector('a[href]')).map((e)=>e.querySelector('a[href]')),this.tabs.length===this.panels.length&&this.init()}init(){const{activeIndex:e}=this.state;this.tablist.setAttribute('role','tablist'),Array.prototype.forEach.call(this.tablist.children,(e)=>{'LI'===e.nodeName&&e.setAttribute('role','presentation')}),this.tabs.forEach((t,n)=>{super.setSelfReference([t]),s(t),t.setAttribute('role','tab'),e===n?t.setAttribute('aria-selected','true'):t.setAttribute('tabindex','-1'),t.setAttribute('aria-controls',this.panels[n].id)}),this.tablist.addEventListener('click',this.handleTabsClick),this.tablist.addEventListener('keydown',this.handleTabsKeydown),this.panels.forEach((t,n)=>{super.setSelfReference([t]),s(t),t.setAttribute('role','tabpanel'),t.setAttribute('aria-labelledby',this.tabs[n].id),e===n?t.setAttribute('tabindex','0'):t.setAttribute('aria-hidden','true'),t.addEventListener('keydown',this.handlePanelKeydown)}),this.interactiveChildren=A(this.panels[e]),this.onInit.call(this)}stateWasUpdated({activeIndex:e}){const[t]=this.tabs.filter((e)=>'true'===e.getAttribute('aria-selected')),n=this.tabs.indexOf(t);t.setAttribute('tabindex','-1'),t.removeAttribute('aria-selected'),this.panels[n].setAttribute('aria-hidden','true'),this.panels[n].removeAttribute('tabindex');const r=A(this.panels[n]);i(r),this.tabs[e].removeAttribute('tabindex'),this.tabs[e].setAttribute('aria-selected','true'),this.panels[e].removeAttribute('aria-hidden'),this.panels[e].setAttribute('tabindex','0'),this.interactiveChildren=A(this.panels[e]),o(this.interactiveChildren),this.onStateChange.call(this,this.state)}handlePanelKeydown(e){const{TAB:t}=E,{activeIndex:n}=this.state,{keyCode:r,shiftKey:a}=e,{activeElement:o}=document,[i]=this.interactiveChildren;r===t&&a&&(o===this.panels[n]?(e.preventDefault(),this.tabs[n].focus()):o===i&&(e.preventDefault(),this.panels[n].focus()))}handleTabsKeydown(e){const{TAB:t,LEFT:n,RIGHT:r,DOWN:a,HOME:o,END:i}=E,{keyCode:l,shiftKey:d,target:s}=e,u=this.tabs.indexOf(s);switch(l){case t:{d||(e.preventDefault(),this.panels[u].focus());break}case n:case r:{const t=b(l,s,this.tabs);t&&(e.preventDefault(),this.switchTo(this.tabs.indexOf(t)),t.focus());break}case a:{e.preventDefault(),this.panels[u].setAttribute('tabindex','0'),this.panels[u].focus();break}case o:{e.preventDefault(),this.switchTo(0),this.tabs[0].focus();break}case i:{e.preventDefault();const t=this.tabs.length-1;this.switchTo(t),this.tabs[t].focus();break}default:}}handleTabsClick(e){const{target:t}=e;e.preventDefault(),'true'!==t.getAttribute('aria-selected')&&this.tabs.includes(t)&&this.switchTo(this.tabs.indexOf(t))}switchTo(e){this.setState({activeIndex:e})}destroy(){this.tablist.removeAttribute('role'),Array.prototype.forEach.call(this.tablist.children,(e)=>{'LI'===e.nodeName&&e.removeAttribute('role')}),this.tabs.forEach((e)=>{delete e.tablist,e.removeAttribute('role'),e.removeAttribute('aria-selected'),e.removeAttribute('tabindex'),e.removeAttribute('aria-controls'),e.removeEventListener('click',this.handleTabsClick),e.removeEventListener('keydown',this.handleTabsKeydown)}),this.panels.forEach((e)=>{delete e.tablist,e.removeAttribute('role'),e.removeAttribute('aria-hidden'),e.removeAttribute('tabindex');const t=A(e);o(t),e.removeEventListener('keydown',this.handlePanelKeydown)}),this.onDestroy.call(this)}}({tablist:H,panels:R}),W=n(4),M=r(siteClassNames.listbox),F=M.button,_=M.list,z=document.querySelector(F),G=document.querySelector(_),j=new class extends y{constructor(e){super(e),this.componentName='listbox';Object.assign(this,{controller:null,target:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.preventWindowScroll=this.preventWindowScroll.bind(this),this.handleControllerKeyup=this.handleControllerKeyup.bind(this),this.handleTargetKeydown=this.handleTargetKeydown.bind(this),this.handleTargetClicks=this.handleTargetClicks.bind(this),this.handleTargetBlur=this.handleTargetBlur.bind(this),this.scrollOptionIntoView=this.scrollOptionIntoView.bind(this),this.popupStateWasUpdated=this.popupStateWasUpdated.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),this.init()}init(){super.setSelfReference([this.controller,this.target]),this.options=Array.prototype.slice.call(this.target.children,0),this.options.forEach((e)=>{s(e),e.setAttribute('role','option')});const[e]=this.options,t=this.options[this.options.length-1];Object.assign(this,{firstOption:e,lastOption:t}),this.state={activeDescendant:this.firstOption},this.popup=new C({controller:this.controller,target:this.target,type:'listbox',onStateChange:this.popupStateWasUpdated}),this.target.setAttribute('role','listbox'),this.target.setAttribute('tabindex','-1'),this.controller.addEventListener('keydown',this.handleControllerKeyup),this.target.addEventListener('keydown',this.handleTargetKeydown),this.target.addEventListener('click',this.handleTargetClicks),this.target.addEventListener('blur',this.handleTargetBlur),window.addEventListener('keydown',this.preventWindowScroll),this.onInit.call(this)}stateWasUpdated({activeDescendant:e}){const t=this.target.querySelector('[aria-selected=\"true\"]');null!==t&&t.removeAttribute('aria-selected'),e.setAttribute('aria-selected','true'),this.target.setAttribute('aria-activedescendant',e.id),this.scrollOptionIntoView(e),this.onStateChange.call(this,this.state)}popupStateWasUpdated({expanded:e}){const{activeDescendant:t}=this.state;e?(this.setState({activeDescendant:t}),this.target.focus()):(this.target.removeAttribute('aria-activedescendant'),this.controller.textContent=t.textContent,this.target.contains(document.activeElement)&&this.controller.focus())}preventWindowScroll(e){const{UP:t,DOWN:n}=E,{target:r,keyCode:a}=e;r===this.target&&[t,n].includes(a)&&e.preventDefault()}handleControllerKeyup(e){const{UP:t,DOWN:n}=E;[t,n].includes(e.keyCode)&&(e.preventDefault(),this.show())}handleTargetKeydown(e){const{activeDescendant:t}=this.state,{keyCode:n}=e,{RETURN:r,ESC:a,UP:o,DOWN:i,SPACE:l,HOME:d,END:s}=E;switch(n){case a:case r:case l:{e.preventDefault(),this.hide(),this.controller.focus();break}case o:case i:{let r=t;r=n===o?r.previousElementSibling:r.nextElementSibling,r&&(e.preventDefault(),this.setState({activeDescendant:r}));break}case d:{e.preventDefault(),this.setState({activeDescendant:this.firstOption});break}case s:{e.preventDefault(),this.setState({activeDescendant:this.lastOption});break}default:{const e=this.typeAhead(n,this.options);null!==e&&this.setState({activeDescendant:e});break}}}handleTargetClicks(e){this.setState({activeDescendant:e.target}),this.hide()}handleTargetBlur(){this.popup.getState().expanded&&this.hide()}scrollOptionIntoView(e){const{scrollHeight:t,clientHeight:n,scrollTop:r}=this.target,{offsetTop:a,offsetHeight:o}=e;if(t>n){const e=a+o;e>n+r?this.target.scrollTop=e-n:a{e.removeAttribute('role')}),this.popup.destroy(),this.target.removeAttribute('role'),this.target.removeAttribute('tabindex'),this.controller.removeEventListener('keyup',this.handleControllerKeyup),this.target.removeEventListener('keydown',this.handleTargetKeydown),this.target.removeEventListener('click',this.handleTargetClicks),this.target.removeEventListener('blur',this.handleTargetBlur),window.removeEventListener('keydown',this.preventWindowScroll),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}({controller:z,target:G}),V=n(5),Q=r(siteClassNames.menu),X=Q.list,Y=document.querySelector(X),Z=new S({menu:Y}),$=n(6),J=r(siteClassNames.dialog),ee=J.link,te=J.closeButton;window.addEventListener('load',function(){var e=document.querySelector(ee),t=document.getElementById('dialog'),n=document.querySelector(te),r=document.querySelector('.site'),a=new I({controller:e,target:t,close:n,content:r})});var ne=n(7),re=r(siteClassNames.menubar),ae=re.list,oe=document.querySelector(ae),ie=new class extends y{static getPopupFromMenubarItem(e){return!!u(e.popup,C)&&e.popup}static getHelpIds(){return['#ac-describe-top-level-help','#ac-describe-submenu-help','#ac-describe-esc-help']}constructor(e){super(e),this.componentName='menuBar';Object.assign(this,{menu:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{},onPopupInit:()=>{},onPopupStateChange:()=>{},onPopupDestroy:()=>{}},e),this.handleMenuBarKeydown=this.handleMenuBarKeydown.bind(this),this.handleMenuBarClick=this.handleMenuBarClick.bind(this),this.handleMenuItemKeydown=this.handleMenuItemKeydown.bind(this),this.stateWasUpdated=this.stateWasUpdated.bind(this),this.destroy=this.destroy.bind(this),null!==this.menu&&'UL'===this.menu.nodeName&&this.init()}init(){super.setSelfReference([this.menu]),this.menu.setAttribute('role','menubar'),this.menuBarChildren=Array.prototype.slice.call(this.menu.children),this.menuBarItems=this.menuBarChildren.reduce((e,t)=>{const n=t.firstElementChild;return null!==n&&'A'===n.nodeName?[...e,n]:e},[]),this.menuLength=this.menuBarItems.length,h(S.getHelpIds()),this.menuBarItems.forEach((e,t)=>{e.setAttribute('role','menuitem'),e.setAttribute('aria-describedby','ac-describe-top-level-help ac-describe-submenu-help ac-describe-esc-help'),e.setAttribute('aria-setsize',this.menuLength),e.setAttribute('aria-posinset',t+1),e.parentElement.setAttribute('role','presentation'),e.parentElement.addEventListener('keydown',this.handleMenuBarKeydown),e.addEventListener('click',this.handleMenuBarClick)}),this.lastIndex=this.menuLength-1,this.clickEvent=new MouseEvent('click',{view:window,bubbles:!0,cancelable:!0}),this.popups=this.menuBarItems.reduce((e,t)=>{const n=t.nextElementSibling;if(null!==n&&'UL'===n.nodeName){const r=new C({controller:t,target:n,onStateChange:this.onPopupStateChange,onInit:this.onPopupInit,onDestroy:this.onPopupDestroy,type:'menu'}),a=new S({menu:n});return n.addEventListener('keydown',this.handleMenuItemKeydown),a.previousSibling=t,[...e,r]}return e},[]);const[e]=this.menuBarItems;this.state={menubarItem:e,popup:this.constructor.getPopupFromMenubarItem(e)},l(this.menuBarItems,e),this.onInit.call(this)}stateWasUpdated({menubarItem:e}){const t=this.constructor.getPopupFromMenubarItem(e);Object.assign(this.state,{popup:t}),l(this.menuBarItems,e),e.focus(),this.onStateChange.call(this,this.state)}handleMenuBarKeydown(e){const{LEFT:t,RIGHT:n,DOWN:r,HOME:a,END:o,SPACE:i,RETURN:l}=E,{keyCode:d}=e,{menubarItem:s,popup:u}=this.state;switch(d){case t:case n:{const t=b(d,s,this.menuBarItems);t&&(e.stopPropagation(),e.preventDefault(),u&&u.setState({expanded:!1}),this.setState({menubarItem:t}));break}case i:case l:case r:{u&&(e.stopPropagation(),e.preventDefault(),!u.state.expanded&&u.setState({expanded:!0}),u.firstChild.focus());break}case a:{e.preventDefault();const[t]=this.menuBarItems;this.setState({menubarItem:t});break}case o:{e.preventDefault(),this.setState({menubarItem:this.menuBarItems[this.lastIndex]});break}default:{const e=this.typeAhead(d,this.menuBarItems);null!==e&&this.setState({menubarItem:e});break}}}handleMenuBarClick(e){this.setState({menubarItem:e.target})}handleMenuItemKeydown(e){const{SPACE:t,RETURN:n}=E,{keyCode:r,target:a}=e;[t,n].includes(r)&&'A'===a.nodeName&&(e.stopPropagation(),e.preventDefault(),a.dispatchEvent(this.clickEvent))}destroy(){delete this.menu.menuBar,this.menu.removeAttribute('role'),this.menuBarItems.forEach((e)=>{e.parentElement.removeAttribute('role'),e.removeAttribute('aria-describedby'),e.removeAttribute('aria-setsize'),e.removeAttribute('aria-posinset'),e.removeAttribute('role'),e.parentElement.removeEventListener('keydown',this.handleMenuBarKeydown),e.removeEventListener('click',this.handleMenuBarClick)}),this.popups.forEach((e)=>{u(e.target.menu,S)&&e.target.menu.destroy(),e.destroy()}),o(this.menuBarItems),this.onDestroy.call(this)}}({menu:oe}),le=n(8),de=r(siteClassNames.disclosure),se=de.button,ue=de.info,ce=document.querySelectorAll(se),pe=document.querySelectorAll(ue);if(ce.length===pe.length)Array.prototype.map.call(ce,function(e,t){return new x({controller:e,target:pe[t]})});var be=n(9),me=r(siteClassNames.menubutton),he=me.button,ge=me['menu-wrapper'],ve=me.menu,ye=document.querySelector(he),fe=document.querySelector(ge),Ee=document.querySelector(ve),Ae=new class extends y{constructor(e){super(e),this.componentName='menuButton';Object.assign(this,{controller:null,target:null,list:null,onInit:()=>{},onStateChange:()=>{},onDestroy:()=>{}},e),this.handleControllerKeydown=this.handleControllerKeydown.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this),null!==this.controller&&null!==this.target&&this.init()}init(){this.popup=new C({controller:this.controller,target:this.target,type:'menu',onStateChange:this.onStateChange}),null!==this.list&&'UL'===this.list.nodeName?this.menu=new S({menu:this.list}):'UL'===this.target.nodeName&&(this.menu=new S({menu:this.target})),this.controller.addEventListener('keydown',this.handleControllerKeydown),this.onInit.call(this)}handleControllerKeydown(e){const{keyCode:t}=e,{RETURN:n,UP:r,DOWN:a,SPACE:o}=E;switch(t){case n:case o:case a:{e.preventDefault(),this.show(),this.menu.firstItem&&this.menu.firstItem.focus();break}case r:{e.preventDefault(),this.show(),this.menu.lastItem&&this.menu.lastItem.focus();break}default:}}destroy(){this.popup.destroy(),this.menu.destroy(),this.onDestroy.call(this)}show(){this.popup.show()}hide(){this.popup.hide()}}({controller:ye,target:fe,list:Ee})}]);"],"mappings":"AAAA","sourceRoot":""} \ No newline at end of file From 34ffdf9d7869b39cff24ae7b2b32e317a79f1260 Mon Sep 17 00:00:00 2001 From: Ryan Domingue Date: Thu, 28 Nov 2019 12:54:05 -0800 Subject: [PATCH 4/4] Testing out deploying GH Pages with Travis --- travis.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/travis.yaml b/travis.yaml index 2ce4974a..2ce5b9e8 100644 --- a/travis.yaml +++ b/travis.yaml @@ -6,3 +6,12 @@ node_js: - "10" install: - YARN_IGNORE_ENGINES=true yarn +script: build +deploy: + provider: pages + edge: true + github_token: $GITHUB_TOKEN + local_dir: docs + target_branch: master + on: + branch: master