" + __webpack_require__(24) + "
";
+module.exports = "
";
/***/ })
/******/ ]);
diff --git a/dist/components.js.map b/dist/components.js.map
index 877437e3..51db461b 100644
--- a/dist/components.js.map
+++ b/dist/components.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 79692cc1044325b76d11","webpack:///./~/byu-web-component-utils/index.js","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/byu-web-component-utils/lib/matchesSelector.js","webpack:///./components/byu-footer-action-button/byu-footer-action-button.js","webpack:///./components/byu-footer-column/byu-footer-column.js","webpack:///./components/byu-footer/byu-footer.js","webpack:///./components/byu-header/byu-header.js","webpack:///./components/byu-menu/byu-menu.js","webpack:///./components/byu-search/byu-search.js","webpack:///./components/byu-social-media-links/byu-social-media-links.js","webpack:///./components/byu-user-info/byu-user-info.js","webpack:///./package.json","webpack:///./components/byu-header/icons/transformicons.js","webpack:///./components/byu-theme-components.js","webpack:///./~/byu-web-component-utils/lib/createEvent.js","webpack:///./~/byu-web-component-utils/lib/querySelectorSlot.js","webpack:///./~/byu-web-component-utils/lib/templating.js","webpack:///./components/byu-footer-action-button/byu-footer-action-button.scss","webpack:///./components/byu-footer-column/byu-footer-column.scss","webpack:///./components/byu-footer/byu-footer.scss","webpack:///./components/byu-header/byu-header.scss","webpack:///./components/byu-menu/byu-menu.scss","webpack:///./components/byu-search/byu-search.scss","webpack:///./components/byu-social-media-links/byu-social-media-links.scss","webpack:///./components/byu-user-info/byu-user-info.scss","webpack:///./~/deep-equal/index.js","webpack:///./~/deep-equal/lib/is_arguments.js","webpack:///./~/deep-equal/lib/keys.js","webpack:///./components/byu-header/byu-header.ejs.html","webpack:///./~/hash-sum/hash-sum.js","webpack:///./components/byu-footer-action-button/byu-footer-action-button.html","webpack:///./components/byu-footer-column/byu-footer-column.html","webpack:///./components/byu-footer/byu-footer.html","webpack:///./components/byu-menu/byu-menu.html","webpack:///./components/byu-search/byu-search.html","webpack:///./components/byu-social-media-links/byu-social-media-links.html","webpack:///./components/byu-user-info/byu-user-info.html"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;;AChEA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAOA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA,wCAAwC,gBAAgB;AACxD,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACjDA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjCA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACnBA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;AClBA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,2BAA2B,eAAe;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA,0BAA0B;AAC1B;AACA,yDAAyD;AACzD,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;AC9DA;;AAEA;;AAEA;AACA;AAC2D;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,2BAA2B,eAAe;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B,oBAAoB;AAClD;;AAEA;;AAEA;AACA;AACA,2BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,cAAc;AAC5C;;;AAGA;;AAEA;AACA;;;;;;;;;;;ACzUA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB,2BAA2B,eAAe;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D,qCAAqC;AACjG,oEAAoE,qCAAqC;AACzG;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;;;AC3GA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,gBAAgB;AAChB,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,sDAAsD,4CAA4C,yBAAyB;AAC3H;AACA;AACA;;AAEA,8GAAkD,cAAc;;AAEhE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,yGAAyG,2BAA2B;AACpI;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL,yGAAyG,SAAS;AAClH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,YAAY,KAAK,OAAO;AACzE;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,0FAA0F,OAAO;AACjG;;AAEA;AACA,sDAAsD,OAAO,+BAA+B,eAAe;AAC3G;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,oFAAoF,OAAO;AAC3F;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,OAAO;AACjC,2GAA2G,OAAO;AAClH;;AAEA,6CAA6C,OAAO;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAuE,KAAK;AAC5E;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE,KAAK;AAC5E;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACvXA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,2BAA2B,aAAa;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,+FAA+F,GAAG,yBAAyB,GAAG;AAC9H;AACA,aAAa;AACb,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC1EA;AAAA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,4CAA4C,aAAa;;AAEzD;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU,E;AACV;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACxBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,eAAe;AAC9B,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,eAAe,OAAO;AACtB,eAAe,eAAe;AAC9B,eAAe,eAAe;AAC9B,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,eAAe,OAAO;AACtB,eAAe,eAAe;AAC9B,eAAe,eAAe;AAC9B,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,uBAAuB;AACtC,iBAAiB,cAAc;AAC/B;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,CAAC,G;;;;;;;;;;;;;;;;AC3LD;AAAA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEgB;;AAEhB,6DAA6D,uDAAQ;;;;;;;;ACxBrE;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC,wCAAwC;AAC9E;AACA;AACA;AACA;AACA;;;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oCAAoC,cAAc;AAClD;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACnCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA,yBAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;;;;;;;AC7FA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,kBAAkB;AAClB,kBAAkB;AAClB,mBAAmB;AACnB,mBAAmB;AACnB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACnCA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,SAAS;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;ACzDA,mI;;;;;;ACAA,yK;;;;;;ACAA,okBAAykB,uO;;;;;;ACAzkB,qoB;;;;;;ACAA,kY;;;;;;ACAA,mtB;;;;;;ACAA,mgB","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 79692cc1044325b76d11","/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\"use strict\";\n\nimport applyTemplate from './lib/templating';\nimport matchesSelector from './lib/matchesSelector';\nimport querySelectorSlot from './lib/querySelectorSlot';\nimport createEvent from './lib/createEvent';\n\nexport {\n applyTemplate,\n matchesSelector,\n querySelectorSlot,\n createEvent\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/index.js\n// module id = 0\n// module chunks = 0","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function() {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\tvar result = [];\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar item = this[i];\n\t\t\tif(item[2]) {\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n\t\t\t} else {\n\t\t\t\tresult.push(item[1]);\n\t\t\t}\n\t\t}\n\t\treturn result.join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/css-loader/lib/css-base.js\n// module id = 1\n// module chunks = 0","/*\n * @license\n * Copyright 2017 Brigham Young University\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\"use strict\";\n\nexport default function matchesSelector(el, selector) {\n let proto = Element.prototype;\n let actual =\n proto.matches ||\n proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector ||\n function (s) {\n let doc = this.document || this.ownerDocument;\n return doc.querySelectorAll(s).indexOf(this) !== -1;\n };\n\n return actual.call(el, selector);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/matchesSelector.js\n// module id = 2\n// module chunks = 0","'use strict';\r\n\r\nimport template from './byu-footer-action-button.html';\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\n\r\nclass BYUFooterActionButton extends HTMLElement {\r\n\r\n constructor() {\r\n super();\r\n this.attachShadow({mode: 'open'});\r\n }\r\n\r\n connectedCallback() {\r\n util.applyTemplate(this, 'byu-footer-action-button', template);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-action-button', BYUFooterActionButton);\r\nwindow.BYUFooterActionButton = BYUFooterActionButton;\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.js\n// module id = 3\n// module chunks = 0","'use strict';\r\n\r\nimport template from './byu-footer-column.html';\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nclass BYUFooterColumn extends HTMLElement {\r\n\r\n constructor() {\r\n super();\r\n this.attachShadow({mode: 'open'});\r\n }\r\n\r\n connectedCallback() {\r\n util.applyTemplate(this, 'byu-footer-column', template);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.js\n// module id = 4\n// module chunks = 0","'use strict';\r\n\r\nimport template from './byu-footer.html';\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nconst ATTR_FULL_WIDTH = 'full-width';\r\nconst ATTR_MAX_WIDTH = 'max-width';\r\nconst DEFAULT_MAX_WIDTH = '1200px';\r\n\r\nclass BYUFooter extends HTMLElement {\r\n\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n const component = this;\r\n util.applyTemplate(component, 'byu-footer', template, () => {\r\n // always show the current year in the copyright message\r\n var currentYear = component.shadowRoot.querySelector(\"#currentYear\");\r\n currentYear.innerHTML = new Date().getFullYear();\r\n\r\n var header = document.querySelector('byu-header');\r\n var observer = new MutationObserver(function (mutations) {\r\n component.updateWithHeaderAttributes(header);\r\n });\r\n\r\n // configuration of the observer:\r\n var config = { attributes: true };\r\n observer.observe(header, config);\r\n component.updateWithHeaderAttributes(header); // run it once to get the initial values\r\n });\r\n }\r\n\r\n updateWithHeaderAttributes(header) {\r\n \r\n // check the header for full-width or max-width attributes\r\n if (header.hasAttribute(ATTR_FULL_WIDTH)) {\r\n this.setAttribute(ATTR_FULL_WIDTH, '');\r\n }\r\n else\r\n {\r\n this.removeAttribute(ATTR_FULL_WIDTH);\r\n }\r\n\r\n var w = DEFAULT_MAX_WIDTH;\r\n if (header.hasAttribute(ATTR_MAX_WIDTH)) {\r\n w = header.getAttribute(ATTR_MAX_WIDTH);\r\n }\r\n this.setAttribute(ATTR_MAX_WIDTH, w);\r\n \r\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\r\n for (var i = 0; i < needsWidthSetting.length; i++)\r\n {\r\n needsWidthSetting[i].style.maxWidth = w;\r\n needsWidthSetting[i].style.maxWidth = w;\r\n }\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer', BYUFooter);\r\nwindow.BYUFooter = BYUFooter;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.js\n// module id = 5\n// module chunks = 0","'use strict';\r\n\r\nimport * as templateFn from \"./byu-header.ejs.html\";\r\n\r\nimport * as equal from \"deep-equal\";\r\nimport * as util from \"byu-web-component-utils\";\r\nimport { revert as revertIcon, transform as transformIcon } from \"./icons/transformicons\";\r\n\r\nconst ATTR_MOBILE_MAX_WIDTH = 'mobile-max-width';\r\nconst ATTR_FULL_WIDTH = 'full-width';\r\nconst ATTR_MAX_WIDTH = 'max-width';\r\nconst ATTR_MOBILE_VIEW = 'mobile-view';\r\nconst ATTR_MENU_OPEN = 'menu-open';\r\nconst ATTR_MENU_KEEP_OPEN = 'menu-keep-open';\r\nconst ATTR_NO_MENU = 'no-menu';\r\nconst ATTR_HOME_URL = 'home-url';\r\n\r\nconst DEFAULT_MOBILE_WIDTH = '1023px';\r\nconst DEFAULT_MAX_WIDTH = '1200px';\r\nconst DEFAULT_HOME_URL = 'https://byu.edu/';\r\n\r\nclass BYUHeader extends HTMLElement {\r\n\r\n constructor() {\r\n super();\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n _render() {\r\n let state = {\r\n mobile: this.inMobileView,\r\n };\r\n if (!equal(state, this._renderState)) {\r\n util.applyTemplate(this, 'byu-header', templateFn(state), () => {\r\n this._renderState = state;\r\n this._addSlotListeners();\r\n this._notifyChildrenOfMobileState();\r\n this._addButtonListeners();\r\n this._checkIfMenuIsNeeded();\r\n this._applyHomeUrl();\r\n this._applyMaxWidth();\r\n });\r\n }\r\n }\r\n\r\n _checkIfMenuIsNeeded() {\r\n // check whether to show the mobile menu button\r\n let userSlot = this.shadowRoot.querySelector(\"#user\");\r\n let hasUserInfo = userSlot.assignedNodes().length !== 0;\r\n\r\n let menuSlot = this.shadowRoot.querySelector(\"#navbarMenu\");\r\n let hasMenu = menuSlot.assignedNodes().length !== 0;\r\n\r\n let actionSlot = this.shadowRoot.querySelector('#actions');\r\n let hasActions = actionSlot.assignedNodes().length !== 0;\r\n\r\n this.noMenu = !(hasUserInfo || hasMenu || hasActions);\r\n\r\n if (menuSlot.assignedNodes().length < 4) {\r\n this.setAttribute('left-align', '');\r\n }\r\n else {\r\n this.removeAttribute('left-align');\r\n }\r\n }\r\n\r\n _addButtonListeners() {\r\n if (!this.inMobileView) {\r\n this.menuOpen = false;\r\n return;\r\n }\r\n let menuButton = this.shadowRoot.querySelector('.mobile-menu-button');\r\n menuButton.addEventListener('click', () => this._toggleMenu())\r\n }\r\n\r\n _toggleMenu() {\r\n this.menuOpen = !this.menuOpen;\r\n }\r\n\r\n _addSlotListeners() {\r\n this._findAllSlots().forEach(each => {\r\n each.addEventListener('slotchange', event => {\r\n this._notifyChildrenOfMobileState();\r\n this._checkIfMenuIsNeeded();\r\n });\r\n })\r\n }\r\n\r\n _notifyChildrenOfMobileState() {\r\n let kids = this._findAllDistributedChildren();\r\n if (this.inMobileView) {\r\n kids.forEach(each => {\r\n each.setAttribute(ATTR_MOBILE_VIEW, '');\r\n each.classList.add(ATTR_MOBILE_VIEW);\r\n });\r\n } else {\r\n kids.forEach(each => {\r\n each.removeAttribute(ATTR_MOBILE_VIEW);\r\n each.classList.remove(ATTR_MOBILE_VIEW);\r\n });\r\n }\r\n }\r\n\r\n _findAllSlots() {\r\n let slots = this.shadowRoot.querySelectorAll('slot');\r\n let arr = [];\r\n for (let i = 0; i < slots.length; ++i) {\r\n arr.push(slots[i]);\r\n }\r\n return arr;\r\n }\r\n\r\n _findAllDistributedChildren() {\r\n return this._findAllSlots().map(s => s.assignedNodes().filter(n => n instanceof HTMLElement))\r\n .reduce((agg, each) => agg.concat(each), []);\r\n }\r\n\r\n connectedCallback() {\r\n //This is a hack to ensure that the right defaults get applied.\r\n this.mobileMaxWidth = this.mobileMaxWidth;\r\n this._applyMobileWidth();\r\n this._render();\r\n this.maxWidth = this.maxWidth;\r\n\r\n const header = this;\r\n setTimeout(function() {\r\n const menu = header.shadowRoot.querySelector('#mobileMenu');\r\n if (menu) menu.addEventListener('click', function openMenuClickHandler() {\r\n console.log(menu.innerHTML);\r\n if (header.hasAttribute(ATTR_MOBILE_VIEW) && header.hasAttribute(ATTR_MENU_OPEN) && !header.hasAttribute(ATTR_MENU_KEEP_OPEN)) {\r\n header.removeAttribute(ATTR_MENU_OPEN);\r\n }\r\n });\r\n }, 0);\r\n }\r\n\r\n static get observedAttributes() {\r\n return [ATTR_MOBILE_MAX_WIDTH, ATTR_MOBILE_VIEW, ATTR_MENU_OPEN, ATTR_HOME_URL, ATTR_FULL_WIDTH, ATTR_MAX_WIDTH];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n switch (attr) {\r\n case ATTR_MOBILE_MAX_WIDTH:\r\n this._applyMobileWidth();\r\n return;\r\n case ATTR_MAX_WIDTH:\r\n this._applyMaxWidth();\r\n return;\r\n case ATTR_MOBILE_VIEW:\r\n this._render();\r\n return;\r\n case ATTR_MENU_OPEN:\r\n this._applyMenuOpen();\r\n return;\r\n case ATTR_HOME_URL:\r\n this._applyHomeUrl();\r\n return;\r\n }\r\n }\r\n\r\n _applyMenuOpen() {\r\n let menu = this.shadowRoot.querySelector('#mobileMenu');\r\n if (!menu) return;\r\n if (this.menuOpen) {\r\n menu.style.maxHeight = menu.scrollHeight + 'px';\r\n transformIcon(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n revertIcon(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n }\r\n }\r\n\r\n _applyHomeUrl() {\r\n let aTag = this.shadowRoot.querySelector('#home-url');\r\n if (aTag) {//Filter out cases where we haven't fully initialized yet\r\n aTag.setAttribute('href', this.homeUrl);\r\n }\r\n }\r\n\r\n get mobileMaxWidth() {\r\n return this.getAttribute(ATTR_MOBILE_MAX_WIDTH);\r\n }\r\n\r\n set mobileMaxWidth(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, val);\r\n } else {\r\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, DEFAULT_MOBILE_WIDTH);\r\n }\r\n }\r\n\r\n get maxWidth() {\r\n return this.getAttribute(ATTR_MAX_WIDTH) || DEFAULT_MAX_WIDTH;\r\n }\r\n\r\n set maxWidth(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_MAX_WIDTH, val);\r\n } else {\r\n this.setAttribute(ATTR_MAX_WIDTH, DEFAULT_MAX_WIDTH);\r\n }\r\n }\r\n\r\n get inMobileView() {\r\n return this.hasAttribute(ATTR_MOBILE_VIEW);\r\n }\r\n\r\n set inMobileView(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_MOBILE_VIEW, '');\r\n } else {\r\n this.removeAttribute(ATTR_MOBILE_VIEW);\r\n }\r\n }\r\n\r\n get menuOpen() {\r\n return this.hasAttribute(ATTR_MENU_OPEN);\r\n }\r\n\r\n set menuOpen(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_MENU_OPEN, '');\r\n } else {\r\n this.removeAttribute(ATTR_MENU_OPEN);\r\n }\r\n }\r\n\r\n get keepMenuOpen() {\r\n return this.hasAttribute(ATTR_MENU_KEEP_OPEN);\r\n }\r\n\r\n set keepMenuOpen(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_MENU_KEEP_OPEN, '');\r\n } else {\r\n this.removeAttribute(ATTR_MENU_KEEP_OPEN);\r\n }\r\n }\r\n\r\n get noMenu() {\r\n return this.hasAttribute(ATTR_NO_MENU);\r\n }\r\n\r\n set noMenu(val) {\r\n if (val) {\r\n this.setAttribute(ATTR_NO_MENU, '');\r\n } else {\r\n this.removeAttribute(ATTR_NO_MENU);\r\n }\r\n }\r\n\r\n get homeUrl() {\r\n return this.getAttribute(ATTR_HOME_URL) || DEFAULT_HOME_URL;\r\n }\r\n\r\n set homeUrl(val) {\r\n this.setAttribute(ATTR_HOME_URL, val);\r\n }\r\n\r\n _applyMobileWidth() {\r\n let desiredQuery = this.mobileMediaQuery;\r\n let q = this._mobileQuery;\r\n if (q) {\r\n if (q.media === desiredQuery) {\r\n //Nothing has changed, bail!\r\n return;\r\n } else {\r\n q.removeListener(this._mobileQueryListener);\r\n this._mobileQuery = null;\r\n }\r\n }\r\n this._mobileQuery = q = window.matchMedia(desiredQuery);\r\n this._mobileQueryListener = this._handleMobileChange.bind(this);\r\n\r\n q.addListener(this._mobileQueryListener);\r\n this._mobileQueryListener(q);\r\n }\r\n\r\n _handleMobileChange(mql) {\r\n this.inMobileView = mql.matches;\r\n }\r\n\r\n get mobileMediaQuery() {\r\n return `(max-width: ${this.mobileMaxWidth})`;\r\n }\r\n\r\n _applyMaxWidth() {\r\n\r\n if (!this.inMobileView) {\r\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\r\n for (var i = 0; i < needsWidthSetting.length; i++) {\r\n needsWidthSetting[i].style.maxWidth = this.maxWidth;\r\n }\r\n }\r\n let desiredQuery = this.maxWidthMediaQuery;\r\n let q = this._maxWidthQuery;\r\n if (q) {\r\n if (q.media === desiredQuery) {\r\n //Nothing has changed, bail!\r\n return;\r\n } else {\r\n q.removeListener(this._maxWidthQueryListener);\r\n this._maxWidthQuery = null;\r\n }\r\n }\r\n this._maxWidthQuery = q = window.matchMedia(desiredQuery);\r\n this._maxWidthQueryListener = this._handleMaxWidthChange.bind(this);\r\n\r\n q.addListener(this._maxWidthQueryListener);\r\n this._maxWidthQueryListener(q);\r\n }\r\n\r\n _handleMaxWidthChange(mql) {\r\n if (mql.matches) {\r\n this.classList.add('below-max-width');\r\n }\r\n else {\r\n this.classList.remove('below-max-width');\r\n }\r\n }\r\n\r\n get maxWidthMediaQuery() {\r\n return `(max-width: ${this.maxWidth})`;\r\n }\r\n\r\n\r\n}\r\n\r\nwindow.customElements.define('byu-header', BYUHeader);\r\nwindow.BYUHeader = BYUHeader;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.js\n// module id = 6\n// module chunks = 0","\"use strict\";\r\nimport template from \"./byu-menu.html\";\r\nimport * as util from 'byu-web-component-utils';\r\n\r\nclass BYUMenu extends HTMLElement {\r\n\r\n get showMore() {\r\n return isShowingMoreMenu(this);\r\n }\r\n\r\n set showMore(show) {\r\n const el = this.shadowRoot.querySelector('.byu-menu-more-menu');\r\n if (show && !isShowingMoreMenu(this)) enableHideClick(this);\r\n toggleClass(el, 'byu-menu-more-expanded', show);\r\n }\r\n\r\n constructor() {\r\n super(); // always call super first\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n\r\n connectedCallback() {\r\n const component = this;\r\n\r\n util.applyTemplate(this, 'byu-menu', template, () => {\r\n updateMoreMenuState(this);\r\n addSlotListeners(this);\r\n\r\n // when the more button is clicked then show the more menu\r\n this.shadowRoot.querySelector('.byu-menu-more').addEventListener('click', function () {\r\n component.showMore = true;\r\n });\r\n });\r\n }\r\n}\r\n\r\nfunction addSlotListeners(component) {\r\n component.shadowRoot.querySelector('slot')\r\n .addEventListener('slotchange', e => {\r\n //Run on microtask timing to let polyfilled shadow DOM changes to propagate\r\n setTimeout(() => updateMoreMenuState(component));\r\n });\r\n}\r\n\r\nfunction enableHideClick(component) {\r\n\r\n const fn = function () {\r\n document.removeEventListener('click', fn);\r\n component.showMore = false;\r\n };\r\n\r\n setTimeout(function () {\r\n document.addEventListener('click', fn);\r\n });\r\n}\r\n\r\nfunction hasClass(el, className) {\r\n const classes = el.className.split(/ +/);\r\n return classes.indexOf(className) !== -1;\r\n}\r\n\r\nfunction isShowingMoreMenu(component) {\r\n return hasClass(component.shadowRoot.querySelector('.byu-menu-more-menu'), 'byu-menu-more-expanded');\r\n}\r\n\r\nfunction toggleClass(el, className, value) {\r\n const classes = el.className.split(/ +/);\r\n const index = classes.indexOf(className);\r\n const exists = index !== -1;\r\n const setTo = arguments.length > 2 ? arguments[2] : !exists;\r\n if (setTo && !exists) {\r\n classes.push(className);\r\n } else if (!setTo && exists) {\r\n classes.splice(index, 1);\r\n }\r\n el.className = classes.join(' ');\r\n}\r\n\r\nfunction updateMoreMenuState(component) {\r\n var children = component.shadowRoot.querySelector('.byu-menu-items').assignedNodes();\r\n var moreChildren = component.shadowRoot.querySelector('.byu-menu-more-slot').assignedNodes();\r\n var filteredChildren = children.filter(function (node) { return node instanceof HTMLElement });\r\n var filteredMoreChildren = moreChildren.filter(function (node) { return node instanceof HTMLElement });\r\n const length = filteredChildren.length + filteredMoreChildren.length;\r\n const hasOverflow = length > 6;\r\n const nav = component.shadowRoot.querySelector('.outer-nav');\r\n\r\n if (nav) toggleClass(nav, 'byu-menu-more-visible', hasOverflow);\r\n\r\n if (hasOverflow) {\r\n for (let i = 5; i < filteredChildren.length; i++) {\r\n filteredChildren[i].setAttribute('slot', 'more');\r\n }\r\n } else if (length === 6) {\r\n filteredChildren[5].setAttribute('slot', '');\r\n }\r\n\r\n if (length < 4) {\r\n component.setAttribute('left-align', '');\r\n }\r\n else {\r\n component.removeAttribute('left-align');\r\n }\r\n\r\n}\r\n\r\nwindow.customElements.define('byu-menu', BYUMenu);\r\nwindow.BYUMenu = BYUMenu;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.js\n// module id = 7\n// module chunks = 0","/**\r\n * @license\r\n * Copyright 2016 Brigham Young University\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n **/\r\n'use strict';\r\n\r\nimport template from \"./byu-search.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst CLASS_SELECTED_INPUT = '__byu-search-selected-input';\r\n\r\nconst ATTR_OLD_SEARCH_HANDLER = 'onsearch';\r\nconst ATTR_SEARCH_HANDLER = 'onbyusearch';\r\nconst ATTR_SEARCH_INPUT_SELECTOR = 'search-input-selector';\r\nconst ATTR_ACTION = 'action';\r\nconst ATTR_ACTION_TARGET = 'action-target';\r\n\r\nconst ACTION_SUBMIT_FORM = 'submit-form';\r\nconst ACTION_CLICK = 'click';\r\nconst ACTION_NAVIGATE = 'navigate';\r\n\r\nconst DEFAULT_ACTION_TARGET_SUBMIT_FORM = 'form';\r\nconst DEFAULT_ACTION_TARGET_CLICK = 'button, input[type=\"submit\"], input[type=\"button\"]';\r\n\r\nconst EVENT_TYPE = 'byu-search';\r\n\r\nconst DEFAULT_ACTION_TARGET = {\r\n //If you're not familiar with this syntax (computed property names), see https://github.com/lukehoban/es6features#enhanced-object-literals\r\n [ACTION_SUBMIT_FORM]: DEFAULT_ACTION_TARGET_SUBMIT_FORM,\r\n [ACTION_CLICK]: DEFAULT_ACTION_TARGET_CLICK\r\n};\r\n\r\nconst DEFAULT_SEARCH_INPUT_SELECTOR = 'input[type=\"search\"], input[type=\"text\"]';\r\n\r\nclass ByuSearch extends HTMLElement {\r\n\r\n constructor() {\r\n super(); // always call super first\r\n this.attachShadow({mode: 'open'});\r\n }\r\n\r\n connectedCallback() {\r\n util.applyTemplate(this, 'byu-search', template, () => {\r\n this._initialized = true;\r\n\r\n this._input = lookupAndConfigureInputElement(this, this.searchInputSelector);\r\n\r\n setupButtonSearchDispatcher(this);\r\n setupSearchListeners(this);\r\n\r\n setupSlotListener(this);\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n if (this._input) {\r\n teardownInputElement(this, this._input);\r\n }\r\n\r\n teardownSearchListeners(this);\r\n\r\n }\r\n\r\n search() {\r\n let el = this._input;\r\n if (!el) {\r\n throw new Error(`Unable to perform search; no search element matching the selector '${this.searchInputSelector}' can be found!`);\r\n }\r\n let value = el.value;\r\n if (!value) return;\r\n\r\n let event = util.createEvent(EVENT_TYPE, {search: value});\r\n\r\n let cancelled = !this.dispatchEvent(event);\r\n if (cancelled) return;\r\n\r\n if (this.action) {\r\n runPredefinedAction(this, value);\r\n }\r\n }\r\n\r\n static get observedAttributes() {\r\n return [ATTR_SEARCH_INPUT_SELECTOR];\r\n }\r\n\r\n attributeChangedCallback(attr, oldValue, newValue) {\r\n if (!this._initialized) return;\r\n switch (attr) {\r\n case ATTR_SEARCH_INPUT_SELECTOR:\r\n if (this._input) {\r\n teardownInputElement(this, this._input);\r\n }\r\n\r\n this._input = lookupAndConfigureInputElement(this, newValue);\r\n\r\n return;\r\n //All other attrs are lazily looked up, as needed.\r\n }\r\n }\r\n\r\n get onbyusearch() {\r\n return this.getAttribute(ATTR_SEARCH_HANDLER);\r\n }\r\n\r\n set onbyusearch(value) {\r\n this.setAttribute(ATTR_SEARCH_HANDLER, value);\r\n }\r\n\r\n get onsearch() {\r\n return this.getAttribute(ATTR_OLD_SEARCH_HANDLER);\r\n }\r\n\r\n set onsearch(value) {\r\n this.setAttribute(ATTR_OLD_SEARCH_HANDLER, value);\r\n }\r\n\r\n set searchInputSelector(value) {\r\n this.setAttribute(ATTR_SEARCH_INPUT_SELECTOR, value);\r\n }\r\n\r\n get searchInputSelector() {\r\n return this.getAttribute(ATTR_SEARCH_INPUT_SELECTOR) || DEFAULT_SEARCH_INPUT_SELECTOR;\r\n }\r\n\r\n set action(value) {\r\n this.setAttribute(ATTR_ACTION, value);\r\n }\r\n\r\n get action() {\r\n //Defaults to null\r\n return this.getAttribute(ATTR_ACTION);\r\n }\r\n\r\n set actionTarget(value) {\r\n this.setAttribute(ATTR_ACTION_TARGET, value);\r\n }\r\n\r\n get actionTarget() {\r\n //Default depends on action target value\r\n return this.getAttribute(ATTR_ACTION_TARGET) || defaultActionTarget(this.action);\r\n }\r\n\r\n get _searchSlot() {\r\n return this.shadowRoot.querySelector('#search');\r\n }\r\n\r\n}\r\n\r\nwindow.customElements.define('byu-search', ByuSearch);\r\nwindow.ByuSearch = ByuSearch;\r\n\r\nfunction setupSlotListener(search) {\r\n search._searchSlot.addEventListener('slotchange', e => {\r\n handleSlotChange(search, e);\r\n });\r\n}\r\n\r\nfunction handleSlotChange(search, event) {\r\n let oldInput = search._input;\r\n let newInput = lookupSearchInput(search);\r\n\r\n if (oldInput === newInput) return;\r\n\r\n search._input = newInput;\r\n\r\n if (oldInput) {\r\n teardownInputElement(search, oldInput);\r\n }\r\n if (newInput) {\r\n setupInputElement(search, newInput);\r\n } else {\r\n console.error(`[byu-search] WARNING! Unable to find a search input element using the selector '${search.searchInputSelector}' on `, search);\r\n }\r\n}\r\n\r\nfunction lookupSearchInput(search, selector) {\r\n return util.querySelectorSlot(search._searchSlot, selector)\r\n}\r\n\r\nfunction lookupAndConfigureInputElement(search, selector) {\r\n let input = lookupSearchInput(search, selector);\r\n\r\n if (input) {\r\n setupInputElement(search, input);\r\n } else {\r\n console.error(`[byu-search] WARNING! Unable to find a search input element using the selector '${selector}' on `, search);\r\n }\r\n return input;\r\n}\r\n\r\nfunction setupInputElement(search, input) {\r\n applyStyleHelpers(search, input);\r\n applyA11yHelpers(search, input);\r\n setupEnterKeySearchDispatcher(search, input);\r\n}\r\n\r\nfunction teardownInputElement(search, input) {\r\n removeStyleHelpers(search, input);\r\n removeA11yHelpers(search, input);\r\n teardownEnterKeySearchDispatcher(search, input)\r\n}\r\n\r\nfunction runPredefinedAction(search, value) {\r\n let action = search.action;\r\n\r\n switch (action) {\r\n case ACTION_SUBMIT_FORM:\r\n runSubmitFormAction(search, value);\r\n break;\r\n case ACTION_CLICK:\r\n runClickAction(search, value);\r\n break;\r\n case ACTION_NAVIGATE:\r\n runNavigateAction(search, value);\r\n break;\r\n default:\r\n throw new Error(`Invalid value for ${ATTR_ACTION}: '${action}'`);\r\n }\r\n}\r\n\r\nfunction runSubmitFormAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let form = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!form) {\r\n throw new Error(`Unable to find target for 'submit-form' action using selector '${target}'`);\r\n }\r\n\r\n if (!(form instanceof HTMLFormElement)) {\r\n throw new Error(`Element found by selector '${target}' must be a