diff --git a/dist/components-compat.js b/dist/components-compat.js index 33a5b0dd..c6c57960 100644 --- a/dist/components-compat.js +++ b/dist/components-compat.js @@ -1458,7 +1458,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" module.exports = { "name": "byuweb-components", - "version": "1.0.3", + "version": "1.1.0", "description": "Components to be used for byu web pages and applications.", "main": "", "scripts": { diff --git a/dist/components-compat.js.map b/dist/components-compat.js.map index 939fc420..65f6587d 100644 --- a/dist/components-compat.js.map +++ b/dist/components-compat.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["module","list","result","item","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","window","currentYear","component","observer","w","needsWidthSetting","mobile","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","menuButton","each","kids","arr","setTimeout","console","header","menu","__webpack_require__","aTag","q","toggleClass","updateMoreMenuState","addSlotListeners","document","classes","el","filteredChildren","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","teardownInputElement","teardownSearchListeners","runPredefinedAction","search","handleSlotChange","setupInputElement","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","runSubmitFormAction","runClickAction","runNavigateAction","form","button","input","helped","handler","applyTitleToChildren","SOCIAL_IDS","kid","userSlot","root","_transformClass","DEFAULT_EVENTS","transform","revert","eventLists","elementList","tcon","setListeners","getElementList","element","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","ShadyCSS","shadow","runAfterStamping","callback","exports","a","b","ka","kb","key","keys","escapeFn","__append","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AAA8F;AAAmE;AE/EjK;AAAA;AAAA;AAAA;AFsHA;AACA;AACA;AA1BA;AAAO;AACP;AACA;AA6BA;AG7HA;AH+HA;AACA;AACA;AG7HA;AACAA;AACA;AH+HA;AG7HA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AH+HA;AG7HA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AH6HA;AAxBA;AAAO;AACP;AACA;AA2BA;AAzBA;AI1JA;AAAAG;AAAA;AJwLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AIrLA;AACA;AACA;AAQA;AACA;AACA;AJgLA;AI9KA;AACA;AJgLA;AAjBA;AAAO;AACP;AACA;AAoBA;AAlBA;AACA;AAAqB;AACrB;AACA;AAqBA;AA1BkE;AAAA;AA6BlE;AKvNA;AAAA;AL0NA;AK1NA;AL4NA;AK1NA;AAFA;AAGA;AL6NA;AAtCkE;AAAA;AAAA;AKpLlEC;AACA;ALmLkE;AA6ClE;AA7CkE;AAAA;AAgDlE;AKhOAC;AACAA;ALkOA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AACA;AAAqB;AACrB;AACA;AA0BA;AA/BkE;AAAA;AAkClE;AM5PA;AAAA;AN+PA;AM/PA;ANiQA;AM/PA;AAFA;AAGA;ANkQA;AA3CkE;AAAA;AAAA;AMpNlED;AACA;ANmNkE;AAkDlE;AAlDkE;AAAA;AAqDlE;AMrQAC;AACAA;ANuQA;AA7BA;AAAO;AACP;AACA;AAgCA;AA9BA;AACA;AAAqB;AACrB;AACA;AAiCA;AO/RA;AACA;AACA;APiSA;AA1CkE;AAAA;AA6ClE;AOhSA;AAAA;APmSA;AOnSA;APqSA;AOnSA;AAFA;AAGA;APsSA;AAtDkE;AAAA;AAAA;AO7OlE;AACAD;AACA;AACA;AACAE;APwSA;AOtSA;AACA;AACAC;AACa;APwSb;AOtSA;AACA;AACAC;AACAD;AACS;AACT;AP6NkE;AAAA;AAAA;AA8ElE;AOvSA;AACA;AACA;AACA;AAGA;AACA;APuSA;AOrSA;AACA;AACAE;AACA;AACA;APuSA;AOrSA;AACA;AAEAC;AACAA;AACA;AACA;APoMkE;AAmGlE;AAnGkE;AAAA;AAsGlE;AOvSAL;AACAA;APySA;AAlCA;AAAO;AACP;AACA;AAqCA;AAnCA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AAsCA;AQ9WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ARgXA;AQ9WA;AACA;AACA;ARgXA;AA5DkE;AAAA;AA+DlE;AQ/WA;AAAA;ARkXA;AQlXA;ARoXA;AQlXA;AAFA;AAGA;ARqXA;AAxEkE;AAAA;AAAA;AQ3SlE;ARwXA;AQvXA;AACAM;AADA;AAGA;AACAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa;AACb;AACA;AR4RkE;AAAA;AAAA;AQzRlE;AACA;AACA;AR0XA;AQxXA;AACA;AR0XA;AQxXA;AACA;AR0XA;AQxXA;AR0XA;AQxXA;AACA;AACA;AAEA;AACA;AACA;ARuQkE;AAAA;AAAA;AQrQlE;AR2XA;AQ1XA;AACA;AACA;AACA;AACA;AACAC;AAAA;AAAA;AACA;AR8PkE;AAAA;AAAA;AQ3PlE;AACA;AR0PkE;AAAA;AAAA;AQxPlE;ARiYA;AQhYA;AACAC;AACA;AACA;AACa;AACJ;AACT;ARiPkE;AAAA;AAAA;AQ9OlE;AACA;AACAC;AACAD;AACAA;AACa;AACJ;AACTC;AACAD;AACAA;AACa;AACb;AACA;ARkOkE;AAAA;AAAA;AQ/NlE;AACA;AACA;AACAE;AACA;AACA;AACA;ARyNkE;AAAA;AAAA;AQtNlE;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;ARoNkE;AAAA;AAAA;AQjNlE;AACA;AACA;AACA;AACA;AR2YA;AQzYA;AACAC;AACA;AACA;AACAC;AACA;AACAC;AACA;AACa;AACJ;AACT;ARiMkE;AAAA;AAAA;AQ1LlE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA;AAiBA;ARyKkE;AAAA;AAAA;AQtKlE;AACA;AACA;AACAC;AACAC;AACS;AACTD;AACAC;AACA;AACA;AR6JkE;AAAA;AAAA;AQ1JlE;AACA;AAAmB;AACnBC;AACA;AACA;ARsJkE;AAAA;AAAA;AQnElE;AACA;AACA;AACA;AACA;AACA;AACa;AACbC;AACA;AACA;AACA;AACA;AACA;AR4TA;AQ1TAA;AACA;AACA;ARmDkE;AAAA;AAAA;AQhDlE;AACA;AR+CkE;AAAA;AAAA;AAiRlE;AQxTA;AACA;AACA;AACAb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa;AACba;AACA;AACA;AACA;AACA;AACA;AR0TA;AQxTAA;AACA;AACA;ARiBkE;AAAA;AAAA;AQdlE;AACA;AACA;AAEA;AACA;AACA;ARQkE;AAAA;AAAA;AQnJlE;AACA;ARkJkE;AQ/IlE;AACA;AACS;AACT;AACA;AACA;AR0IkE;AAAA;AAAA;AQvIlE;AACA;ARsIkE;AQnIlE;AACA;AACS;AACT;AAC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AU13BA7B;AACAA;AV43BA;AU13BA;AACAgC;AACAC;AACK;AACL;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AV43BA;AU13BAD;AV43BA;AU13BA;AACAH;AACA;AACA;AACAK;AACK;AACLrB;AACA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACAqB;AACK;AACLrB;AACA;AACA;AACA;AV43BA;AU13BA;AACAsB;AACAC;AACAC;AACA;AV43BA;AU13BA;AACAC;AACAC;AACAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACA;AAXA;AAaA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACAhC;AACA;AV43BA;AU13BAb;AACA;AV43BA;AU13BA;AACA8C;AACA;AV43BA;AU13BA;AACAA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACAA;AACAC;AACK;AACLD;AACAC;AACK;AACLD;AACAC;AACA;AV43BA;AU13BAD;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACAA;AACA;AACA;AACAA;AACA;AACA;AACA;AV43BA;AU13BA;AACAd;AAEAA;AACS;AACT;AV23BA;AUz3BA;AACA;AACA;AACAA;AACA;AACA;AACAc;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AV23BA;AUz3BAhB;AV23BA;AUz3BA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AACAgB;AACA;AV23BA;AUz3BAhB;AACA;AV23BA;AUz3BA;AACA;AACAA;AACA;AACA;AACAA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AV23BA;AA5FA;AAAO;AACP;AACA;AA+FA;AA7FA;AACA;AAAqB;AACrB;AACA;AAgGA;AWzvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA;AXwwCA;AWzvCA;AX2vCA;AAtHkE;AAAA;AAyHlE;AW1vCA;AAAA;AX6vCA;AW7vCA;AX+vCA;AW7vCA;AAFA;AAGA;AXgwCA;AAlIkE;AAAA;AAAA;AW5nClE;AXmwCA;AWlwCAjC;AACA;AACAkD;AXowCA;AWlwCAC;AACA;AACA;AXowCA;AWlwCAD;AACA;AACA;AACApC;AACA;AACa;AACJ;AACT;AX4mCkE;AAyJlE;AAzJkE;AAAA;AA4JlE;AWrwCAb;AACAA;AXuwCA;AWrwCA;AACA;AACAU;AAAA;AAAA;AACA;AADA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACAyC;AACS;AACT;AX0wCA;AWxwCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AX0wCA;AAzGA;AAAO;AACP;AACA;AA4GA;AA1GA;AACA;AAAqB;AACrB;AYjvCA;AAAA;AZg2CA;AACA;AACA;AArHkE;AAAA;AAwHlE;AY31CA;AAAA;AZ81CA;AY91CA;AZg2CA;AY71CA;AZ+1CA;AYl2CA;AAKA;AZg2CA;AAlIkE;AAAA;AAAA;AYttClE;AACA;AACA;AACA;AACA;AACA;AZitCkE;AAAA;AAAA;AY/sClE;AZ+1CA;AY91CApD;AACA;AACA;AACU;AACV;AZ0sCkE;AAAA;AAAA;AYxsClE;AZk2CA;AYh2CA;AACA;AACAqD;AACA;AACS;AACT;AZisCkE;AAAA;AAAA;AY9rClE;AACA;AACA;AACA;AAEA;AACA;AACA;AZurCkE;AAAA;AAAA;AYprClE;AACA;AZmrCkE;AAAA;AAAA;AY1tClE;AACA;AZytCkE;AAsLlE;AAtLkE;AAAA;AAyLlE;AYx2CApD;AACAA;AZ02CA;AAnHA;AAAO;AACP;AACA;AAsHA;Aa96CAN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AALA;AAlBA;Aby8CA;AApHA;AAAO;AACP;AACA;AAuHA;AArHA;AAuHA;Ach9CA;Adk9CA;AACA;AACA;Ac/8CA;AACA;AACA;AACA;AACK;AACL;AACAA;AACK;AACL;AACA2D;AACA;AACC;Adi9CD;Ac/8CA;AACA;AACA;AACA;Adi9CA;Ac/8CA;AAAA;AAEAC;Adi9CA;AACA;Ach9CA;AACAC;AACAC;AACAC;AAFA;Adq9CA;Ach9CA;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AACA;AACS;AACT;AACS;AACT;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AACA;AACS;AACT;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AAAA;AAAA;AAAA;Adq9CA;Ac/8CA;AACA;AACAC;AACA;Adi9CA;Ac/8CA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;Ac/8CA;AACAC;AACA;Adi9CA;Ac/8CA;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;Ac/8CAA;AACAC;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;Ac/8CAD;AACAC;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAD;AACAE;AACAC;AACS;AACT;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAH;AACAE;AACAC;AACS;AACT;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAH;AACAE;AACAF;AACS;AACT;AACA;Adi9CA;Ac/8CA;AACC;Adi9CD;AAjHA;AAAO;AACP;AACA;AAoHA;AAlHA;AAoHA;AAnHAI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AexiDA;AAAA;AAAA;AfgqDA;AACA;AACA;Ae7pDA;Af+pDA;AACA;AACA;AezpDA;Af2pDA;AACA;AACA;AelpDAnD;AfopDA;AAtGA;AAAO;AACP;AACA;AAyGA;AAvGA;AgB1kDA;AAAAf;AAAA;AhBsrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AgBnrDA;AACA;AACA;AACA;AACA;AACAmE;AACA;AACA;AhBqrDA;AAtGA;AAAO;AACP;AACA;AAyGA;AAvGA;AACA;AAAiCnE;AiB7mDjC;AAAA;AjBytDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AiBptDA;AACA;AACA;AAAA;AjButDA;AiBrtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AjButDA;AApGA;AAAO;AACP;AACA;AAuGA;AArGA;AACA;AAAiCA;AkB3pDjC;AAAA;AAAA;AlBswDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AkBjwDA;AlBmwDA;AkBjwDA;AACA;AlBmwDA;AkBjwDA;AACA;AACA;AACA;AACA;AACAoE;AlBmwDA;AkBjwDA;AACAC;AACK;AACLC;AACA;AACA;AlBmwDA;AkBjwDA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACA/C;AACAgD;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACA3D;AACA4D;AACK;AACL;AlBmwDA;AkBjwDA;AACAT;AACAS;AACA;AlBmwDA;AkBjwDA;AACAT;AACA;AACAU;AACA;AACA;AlBmwDA;AAjGA;AAAO;AACP;AACA;AAoGA;AmBv1DAC;AACA;AnBy1DA;AACA;AmBv1DA;AACAA;AnBy1DA;AmBv1DA;AnBy1DA;AACA;AAlGA;AAAO;AACP;AACA;AAqGA;AoBt2DAA;AACA;ApBw2DA;AACA;AoBt2DA;AACAA;ApBw2DA;AoBt2DA;ApBw2DA;AACA;AAnGA;AAAO;AACP;AACA;AAsGA;AqBr3DAA;AACA;ArBu3DA;AACA;AqBr3DA;AACAA;ArBu3DA;AqBr3DA;ArBu3DA;AACA;AApGA;AAAO;AACP;AACA;AAuGA;AsBp4DAA;AACA;AtBs4DA;AACA;AsBp4DA;AACAA;AtBs4DA;AsBp4DA;AtBs4DA;AACA;AArGA;AAAO;AACP;AACA;AAwGA;AuBn5DAA;AACA;AvBq5DA;AACA;AuBn5DA;AACAA;AvBq5DA;AuBn5DA;AvBq5DA;AACA;AAtGA;AAAO;AACP;AACA;AAyGA;AwBl6DAA;AACA;AxBo6DA;AACA;AwBl6DA;AACAA;AxBo6DA;AwBl6DA;AxBo6DA;AACA;AAvGA;AAAO;AACP;AACA;AA0GA;AyBj7DAA;AACA;AzBm7DA;AACA;AyBj7DA;AACAA;AzBm7DA;AyBj7DA;AzBm7DA;AACA;AAxGA;AAAO;AACP;AACA;AA2GA;A0Bh8DAA;AACA;A1Bk8DA;AACA;A0Bh8DA;AACAA;A1Bk8DA;A0Bh8DA;A1Bk8DA;AACA;AAzGA;AAAO;AACP;AACA;AA4GA;A2B/8DA;AACA;AACA;A3Bi9DA;A2B/8DA;AACA;AACA;AACA;AACA;AAEG;AACH;A3Bg9DA;A2B98DA;AACA;AACG;AACH;A3Bg9DA;A2B98DA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEG;AAAY;AACf;AACA;AACA;AACA;AACA;AAEA;AACAC;AACAC;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;A3B88DA;AAtGA;AAAO;AACP;AACA;AAyGA;A4BhjEA;AACA;AACC;A5BkjED;A4BhjEAL;A5BkjEA;A4BhjEAA;AACA;AACA;AACA;A5BkjEA;A4BhjEAA;AACA;AACA;AAMA;A5B6iEA;AAjGA;AAAO;AACP;AACA;AAoGA;A6BrkEAA;A7BukEA;A6BpkEAA;AACA;AACA;AACA;AAAAM;AAAA;AAEA;A7BukEA;AAjGA;AAAO;AACP;AACA;AAoGA;A8BplEAtF;AACA;A9BslEA;A8BrlEAuF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAOA;AACA;AACA;AACA;AAAA;AACAC;AACAA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACA;A9Bm/DC;AAuGD;AArGA;AAAO;AACP;AACA;AAwGA;AAtGA;AAwGA;A+BjoEA;AACA;AACAC;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;A/BmoEA;A+BjoEA3F;A/BmoEA;AApGA;AAAO;AACP;AACA;AAuGA;AgCjsEAA;AhCmsEA;AArGA;AAAO;AACP;AACA;AAwGA;AiCxsEAA;AjC0sEA;AAtGA;AAAO;AACP;AACA;AAyGA;AkC/sEAA;AlCitEA;AAvGA;AAAO;AACP;AACA;AA0GA;AmCttEAA;AnCwtEA;AAxGA;AAAO;AACP;AACA;AA2GA;AoC7tEAA;ApC+tEA;AAzGA;AAAO;AACP;AACA;AA4GA;AqCpuEAA;ArCsuEA;AA1GA;AAAO;AACP;AACA;AA6GA;AsC3uEAA;AtC6uEA;AA3GA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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
, but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["module","list","result","item","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","window","currentYear","component","observer","w","needsWidthSetting","mobile","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","menuButton","each","kids","arr","setTimeout","console","header","menu","__webpack_require__","aTag","q","toggleClass","updateMoreMenuState","addSlotListeners","document","classes","el","filteredChildren","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","teardownInputElement","teardownSearchListeners","runPredefinedAction","search","handleSlotChange","setupInputElement","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","runSubmitFormAction","runClickAction","runNavigateAction","form","button","input","helped","handler","applyTitleToChildren","SOCIAL_IDS","kid","userSlot","root","_transformClass","DEFAULT_EVENTS","transform","revert","eventLists","elementList","tcon","setListeners","getElementList","element","Object","evt","elSettings","applyTemplateShady","applyTemplateNative","templateElement","ShadyCSS","shadow","runAfterStamping","callback","exports","a","b","ka","kb","key","keys","escapeFn","__append","hash","chr","seen"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAbA;AAA8B;ACA9B;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AACA;AAAA;ADEA;AACA;ACAA;AACA;ADEA;ACAA;AACA;ADEA;ACAA;AACA;AAA2C;AAAc;ADEzD;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;ADEA;ACAA;AACA;AACA;AACA;AAA2B;AAA4B;AACvD;AAAiC;AAAe;AAChD;AACA;AACA;AAAA;ADEA;ACAA;AACA;AAAsD;AAA+D;ADErH;ACAA;AACA;ADEA;ACAA;AACA;ADEA;AAAU;AACV;AACA;AACA;AACA;AA8BA;AA5BA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AAA8F;AAA4D;AAC1J;AACA;AAA8F;AAAmE;AE/EjK;AAAA;AAAA;AAAA;AFsHA;AACA;AACA;AA1BA;AAAO;AACP;AACA;AA6BA;AG7HA;AH+HA;AACA;AACA;AG7HA;AACAA;AACA;AH+HA;AG7HA;AACAC;AACA;AACA;AACA;AACA;AACAC;AACI;AACJA;AACA;AACA;AACA;AACA;AH+HA;AG7HA;AACAD;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACK;AACLA;AACA;AACAF;AACA;AACA;AACA;AACA;AACA;AH6HA;AAxBA;AAAO;AACP;AACA;AA2BA;AAzBA;AI1JA;AAAAG;AAAA;AJwLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AIrLA;AACA;AACA;AAQA;AACA;AACA;AJgLA;AI9KA;AACA;AJgLA;AAjBA;AAAO;AACP;AACA;AAoBA;AAlBA;AACA;AAAqB;AACrB;AACA;AAqBA;AA1BkE;AAAA;AA6BlE;AKvNA;AAAA;AL0NA;AK1NA;AL4NA;AK1NA;AAFA;AAGA;AL6NA;AAtCkE;AAAA;AAAA;AKpLlEC;AACA;ALmLkE;AA6ClE;AA7CkE;AAAA;AAgDlE;AKhOAC;AACAA;ALkOA;AAtBA;AAAO;AACP;AACA;AAyBA;AAvBA;AACA;AAAqB;AACrB;AACA;AA0BA;AA/BkE;AAAA;AAkClE;AM5PA;AAAA;AN+PA;AM/PA;ANiQA;AM/PA;AAFA;AAGA;ANkQA;AA3CkE;AAAA;AAAA;AMpNlED;AACA;ANmNkE;AAkDlE;AAlDkE;AAAA;AAqDlE;AMrQAC;AACAA;ANuQA;AA7BA;AAAO;AACP;AACA;AAgCA;AA9BA;AACA;AAAqB;AACrB;AACA;AAiCA;AO/RA;AACA;AACA;APiSA;AA1CkE;AAAA;AA6ClE;AOhSA;AAAA;APmSA;AOnSA;APqSA;AOnSA;AAFA;AAGA;APsSA;AAtDkE;AAAA;AAAA;AO7OlE;AACAD;AACA;AACA;AACAE;APwSA;AOtSA;AACA;AACAC;AACa;APwSb;AOtSA;AACA;AACAC;AACAD;AACS;AACT;AP6NkE;AAAA;AAAA;AA8ElE;AOvSA;AACA;AACA;AACA;AAGA;AACA;APuSA;AOrSA;AACA;AACAE;AACA;AACA;APuSA;AOrSA;AACA;AAEAC;AACAA;AACA;AACA;APoMkE;AAmGlE;AAnGkE;AAAA;AAsGlE;AOvSAL;AACAA;APySA;AAlCA;AAAO;AACP;AACA;AAqCA;AAnCA;AACA;AAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AAsCA;AQ9WA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ARgXA;AQ9WA;AACA;AACA;ARgXA;AA5DkE;AAAA;AA+DlE;AQ/WA;AAAA;ARkXA;AQlXA;ARoXA;AQlXA;AAFA;AAGA;ARqXA;AAxEkE;AAAA;AAAA;AQ3SlE;ARwXA;AQvXA;AACAM;AADA;AAGA;AACAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa;AACb;AACA;AR4RkE;AAAA;AAAA;AQzRlE;AACA;AACA;AR0XA;AQxXA;AACA;AR0XA;AQxXA;AACA;AR0XA;AQxXA;AR0XA;AQxXA;AACA;AACA;AAEA;AACA;AACA;ARuQkE;AAAA;AAAA;AQrQlE;AR2XA;AQ1XA;AACA;AACA;AACA;AACA;AACAC;AAAA;AAAA;AACA;AR8PkE;AAAA;AAAA;AQ3PlE;AACA;AR0PkE;AAAA;AAAA;AQxPlE;ARiYA;AQhYA;AACAC;AACA;AACA;AACa;AACJ;AACT;ARiPkE;AAAA;AAAA;AQ9OlE;AACA;AACAC;AACAD;AACAA;AACa;AACJ;AACTC;AACAD;AACAA;AACa;AACb;AACA;ARkOkE;AAAA;AAAA;AQ/NlE;AACA;AACA;AACAE;AACA;AACA;AACA;ARyNkE;AAAA;AAAA;AQtNlE;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;ARoNkE;AAAA;AAAA;AQjNlE;AACA;AACA;AACA;AACA;AR2YA;AQzYA;AACAC;AACA;AACA;AACAC;AACA;AACAC;AACA;AACa;AACJ;AACT;ARiMkE;AAAA;AAAA;AQ1LlE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA;AAiBA;ARyKkE;AAAA;AAAA;AQtKlE;AACA;AACA;AACAC;AACAC;AACS;AACTD;AACAC;AACA;AACA;AR6JkE;AAAA;AAAA;AQ1JlE;AACA;AAAmB;AACnBC;AACA;AACA;ARsJkE;AAAA;AAAA;AQnElE;AACA;AACA;AACA;AACA;AACA;AACa;AACbC;AACA;AACA;AACA;AACA;AACA;AR4TA;AQ1TAA;AACA;AACA;ARmDkE;AAAA;AAAA;AQhDlE;AACA;AR+CkE;AAAA;AAAA;AAiRlE;AQxTA;AACA;AACA;AACAb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa;AACba;AACA;AACA;AACA;AACA;AACA;AR0TA;AQxTAA;AACA;AACA;ARiBkE;AAAA;AAAA;AQdlE;AACA;AACA;AAEA;AACA;AACA;ARQkE;AAAA;AAAA;AQnJlE;AACA;ARkJkE;AQ/IlE;AACA;AACS;AACT;AACA;AACA;AR0IkE;AAAA;AAAA;AQvIlE;AACA;ARsIkE;AQnIlE;AACA;AACS;AACT;AAC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AU13BA7B;AACAA;AV43BA;AU13BA;AACAgC;AACAC;AACK;AACL;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AV43BA;AU13BAD;AV43BA;AU13BA;AACAH;AACA;AACA;AACAK;AACK;AACLrB;AACA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACAqB;AACK;AACLrB;AACA;AACA;AACA;AV43BA;AU13BA;AACAsB;AACAC;AACAC;AACA;AV43BA;AU13BA;AACAC;AACAC;AACAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACAC;AACA;AACA;AACA;AAXA;AAaA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BAC;AACA;AV43BA;AU13BA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACAhC;AACA;AV43BA;AU13BAb;AACA;AV43BA;AU13BA;AACA8C;AACA;AV43BA;AU13BA;AACAA;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AV43BA;AU13BA;AACAA;AACAC;AACK;AACLD;AACAC;AACK;AACLD;AACAC;AACA;AV43BA;AU13BAD;AACA;AV43BA;AU13BA;AACA;AACA;AV43BA;AU13BA;AACAA;AACA;AACA;AACAA;AACA;AACA;AACA;AV43BA;AU13BA;AACAd;AAEAA;AACS;AACT;AV23BA;AUz3BA;AACA;AACA;AACAA;AACA;AACA;AACAc;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AV23BA;AUz3BAhB;AV23BA;AUz3BA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AACAgB;AACA;AV23BA;AUz3BAhB;AACA;AV23BA;AUz3BA;AACA;AACAA;AACA;AACA;AACAA;AACA;AACA;AV23BA;AUz3BA;AACA;AACA;AACA;AV23BA;AA5FA;AAAO;AACP;AACA;AA+FA;AA7FA;AACA;AAAqB;AACrB;AACA;AAgGA;AWzvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA;AXwwCA;AWzvCA;AX2vCA;AAtHkE;AAAA;AAyHlE;AW1vCA;AAAA;AX6vCA;AW7vCA;AX+vCA;AW7vCA;AAFA;AAGA;AXgwCA;AAlIkE;AAAA;AAAA;AW5nClE;AXmwCA;AWlwCAjC;AACA;AACAkD;AXowCA;AWlwCAC;AACA;AACA;AXowCA;AWlwCAD;AACA;AACA;AACApC;AACA;AACa;AACJ;AACT;AX4mCkE;AAyJlE;AAzJkE;AAAA;AA4JlE;AWrwCAb;AACAA;AXuwCA;AWrwCA;AACA;AACAU;AAAA;AAAA;AACA;AADA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACAyC;AACS;AACT;AX0wCA;AWxwCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AX0wCA;AAzGA;AAAO;AACP;AACA;AA4GA;AA1GA;AACA;AAAqB;AACrB;AYjvCA;AAAA;AZg2CA;AACA;AACA;AArHkE;AAAA;AAwHlE;AY31CA;AAAA;AZ81CA;AY91CA;AZg2CA;AY71CA;AZ+1CA;AYl2CA;AAKA;AZg2CA;AAlIkE;AAAA;AAAA;AYttClE;AACA;AACA;AACA;AACA;AACA;AZitCkE;AAAA;AAAA;AY/sClE;AZ+1CA;AY91CApD;AACA;AACA;AACU;AACV;AZ0sCkE;AAAA;AAAA;AYxsClE;AZk2CA;AYh2CA;AACA;AACAqD;AACA;AACS;AACT;AZisCkE;AAAA;AAAA;AY9rClE;AACA;AACA;AACA;AAEA;AACA;AACA;AZurCkE;AAAA;AAAA;AYprClE;AACA;AZmrCkE;AAAA;AAAA;AY1tClE;AACA;AZytCkE;AAsLlE;AAtLkE;AAAA;AAyLlE;AYx2CApD;AACAA;AZ02CA;AAnHA;AAAO;AACP;AACA;AAsHA;Aa96CAN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AALA;AAlBA;Aby8CA;AApHA;AAAO;AACP;AACA;AAuHA;AArHA;AAuHA;Ach9CA;Adk9CA;AACA;AACA;Ac/8CA;AACA;AACA;AACA;AACK;AACL;AACAA;AACK;AACL;AACA2D;AACA;AACC;Adi9CD;Ac/8CA;AACA;AACA;AACA;Adi9CA;Ac/8CA;AAAA;AAEAC;Adi9CA;AACA;Ach9CA;AACAC;AACAC;AACAC;AAFA;Adq9CA;Ach9CA;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AACA;AACS;AACT;AACS;AACT;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AACA;AACS;AACT;AACA;AACA;Adk9CA;Ach9CA;Adk9CA;AACA;AACA;AACA;AACA;AACA;AACA;Ach9CA;AACA;AAAA;AAAA;AAAA;Adq9CA;Ac/8CA;AACA;AACAC;AACA;Adi9CA;Ac/8CA;AACA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;Ac/8CA;AACAC;AACA;Adi9CA;Ac/8CA;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;Ac/8CAA;AACAC;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;Ac/8CAD;AACAC;AACA;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAD;AACAE;AACAC;AACS;AACT;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAH;AACAE;AACAC;AACS;AACT;AACA;Adi9CA;Ac/8CA;Adi9CA;AACA;AACA;AACA;AACA;AACA;Ac/8CAH;AACAE;AACAF;AACS;AACT;AACA;Adi9CA;Ac/8CA;AACC;Adi9CD;AAjHA;AAAO;AACP;AACA;AAoHA;AAlHA;AAoHA;AAnHAI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AexiDA;AAAA;AAAA;AfgqDA;AACA;AACA;Ae7pDA;Af+pDA;AACA;AACA;AezpDA;Af2pDA;AACA;AACA;AelpDAnD;AfopDA;AAtGA;AAAO;AACP;AACA;AAyGA;AAvGA;AgB1kDA;AAAAf;AAAA;AhBsrDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AgBnrDA;AACA;AACA;AACA;AACA;AACAmE;AACA;AACA;AhBqrDA;AAtGA;AAAO;AACP;AACA;AAyGA;AAvGA;AACA;AAAiCnE;AiB7mDjC;AAAA;AjBytDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AiBptDA;AACA;AACA;AAAA;AjButDA;AiBrtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AjButDA;AApGA;AAAO;AACP;AACA;AAuGA;AArGA;AACA;AAAiCA;AkB3pDjC;AAAA;AAAA;AlBswDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AkBjwDA;AlBmwDA;AkBjwDA;AACA;AlBmwDA;AkBjwDA;AACA;AACA;AACA;AACA;AACAoE;AlBmwDA;AkBjwDA;AACAC;AACK;AACLC;AACA;AACA;AlBmwDA;AkBjwDA;AACA;AACA;AACA;AACAC;AACAA;AACAA;AACA/C;AACAgD;AACA;AACA;AACAA;AACK;AACLA;AACK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACA;AACAA;AACA3D;AACA4D;AACK;AACL;AlBmwDA;AkBjwDA;AACAT;AACAS;AACA;AlBmwDA;AkBjwDA;AACAT;AACA;AACAU;AACA;AACA;AlBmwDA;AAjGA;AAAO;AACP;AACA;AAoGA;AmBv1DAC;AACA;AnBy1DA;AACA;AmBv1DA;AACAA;AnBy1DA;AmBv1DA;AnBy1DA;AACA;AAlGA;AAAO;AACP;AACA;AAqGA;AoBt2DAA;AACA;ApBw2DA;AACA;AoBt2DA;AACAA;ApBw2DA;AoBt2DA;ApBw2DA;AACA;AAnGA;AAAO;AACP;AACA;AAsGA;AqBr3DAA;AACA;ArBu3DA;AACA;AqBr3DA;AACAA;ArBu3DA;AqBr3DA;ArBu3DA;AACA;AApGA;AAAO;AACP;AACA;AAuGA;AsBp4DAA;AACA;AtBs4DA;AACA;AsBp4DA;AACAA;AtBs4DA;AsBp4DA;AtBs4DA;AACA;AArGA;AAAO;AACP;AACA;AAwGA;AuBn5DAA;AACA;AvBq5DA;AACA;AuBn5DA;AACAA;AvBq5DA;AuBn5DA;AvBq5DA;AACA;AAtGA;AAAO;AACP;AACA;AAyGA;AwBl6DAA;AACA;AxBo6DA;AACA;AwBl6DA;AACAA;AxBo6DA;AwBl6DA;AxBo6DA;AACA;AAvGA;AAAO;AACP;AACA;AA0GA;AyBj7DAA;AACA;AzBm7DA;AACA;AyBj7DA;AACAA;AzBm7DA;AyBj7DA;AzBm7DA;AACA;AAxGA;AAAO;AACP;AACA;AA2GA;A0Bh8DAA;AACA;A1Bk8DA;AACA;A0Bh8DA;AACAA;A1Bk8DA;A0Bh8DA;A1Bk8DA;AACA;AAzGA;AAAO;AACP;AACA;AA4GA;A2B/8DA;AACA;AACA;A3Bi9DA;A2B/8DA;AACA;AACA;AACA;AACA;AAEG;AACH;A3Bg9DA;A2B98DA;AACA;AACG;AACH;A3Bg9DA;A2B98DA;AACA;AACA;AACA;AACA;AACA;AACG;AACH;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A3Bg9DA;A2B98DA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEG;AAAY;AACf;AACA;AACA;AACA;AACA;AAEA;AACAC;AACAC;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACAC;AACA;AACA;AACA;AACA;A3B88DA;AAtGA;AAAO;AACP;AACA;AAyGA;A4BhjEA;AACA;AACC;A5BkjED;A4BhjEAL;A5BkjEA;A4BhjEAA;AACA;AACA;AACA;A5BkjEA;A4BhjEAA;AACA;AACA;AAMA;A5B6iEA;AAjGA;AAAO;AACP;AACA;AAoGA;A6BrkEAA;A7BukEA;A6BpkEAA;AACA;AACA;AACA;AAAAM;AAAA;AAEA;A7BukEA;AAjGA;AAAO;AACP;AACA;AAoGA;A8BplEAtF;AACA;A9BslEA;A8BrlEAuF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAAA;AAOA;AACA;AACA;AACA;AAAA;AACAC;AACAA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACAA;AACA;AACA;A9Bm/DC;AAuGD;AArGA;AAAO;AACP;AACA;AAwGA;AAtGA;AAwGA;A+BjoEA;AACA;AACAC;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAC;AACAD;AACAA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAE;AACA;AACA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;A/BmoEA;A+BjoEA;AACA;AACA;A/BmoEA;A+BjoEA3F;A/BmoEA;AApGA;AAAO;AACP;AACA;AAuGA;AgCjsEAA;AhCmsEA;AArGA;AAAO;AACP;AACA;AAwGA;AiCxsEAA;AjC0sEA;AAtGA;AAAO;AACP;AACA;AAyGA;AkC/sEAA;AlCitEA;AAvGA;AAAO;AACP;AACA;AA0GA;AmCttEAA;AnCwtEA;AAxGA;AAAO;AACP;AACA;AA2GA;AoC7tEAA;ApC+tEA;AAzGA;AAAO;AACP;AACA;AA4GA;AqCpuEAA;ArCsuEA;AA1GA;AAAO;AACP;AACA;AA6GA;AsC3uEAA;AtC6uEA;AA3GA;AAAO;AACP","file":"components-compat.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} diff --git a/dist/components-compat.min.js.map b/dist/components-compat.min.js.map index 4904e4b5..aed6497c 100644 --- a/dist/components-compat.min.js.map +++ b/dist/components-compat.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["key","obj","Object","defineProperty","value","enumerable","configurable","writable","instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","create","constructor","setPrototypeOf","__proto__","Symbol","iterator","i","props","length","descriptor","target","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","__WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__","__WEBPACK_IMPORTED_MODULE_3__lib_createEvent__","list","item","result","join","id","alreadyImportedModules","mediaQuery","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__","_classCallCheck","BYUFooterActionButton","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","HTMLElement","window","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__","BYUFooterColumn","_this2","_HTMLElement2","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__","BYUFooter","_this3","_HTMLElement3","component","shadowRoot","querySelector","currentYear","MutationObserver","observer","attributes","header","hasAttribute","ATTR_FULL_WIDTH","setAttribute","removeAttribute","ATTR_MAX_WIDTH","w","needsWidthSetting","__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__","__WEBPACK_IMPORTED_MODULE_1_deep_equal__","__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__","BYUHeader","_this4","_HTMLElement4","mobile","state","_renderState","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","_this5","_addSlotListeners","_notifyChildrenOfMobileState","_addButtonListeners","_checkIfMenuIsNeeded","_applyHomeUrl","_applyMaxWidth","assignedNodes","noMenu","hasUserInfo","hasMenu","hasActions","inMobileView","menuOpen","menuButton","_this6","_toggleMenu","_findAllSlots","forEach","each","_this7","_findAllDistributedChildren","kids","slots","arr","map","filter","reduce","agg","concat","mobileMaxWidth","_applyMobileWidth","_render","maxWidth","setTimeout","menu","addEventListener","console","ATTR_MOBILE_VIEW","ATTR_MENU_OPEN","ATTR_MENU_KEEP_OPEN","attr","ATTR_MOBILE_MAX_WIDTH","_applyMenuOpen","ATTR_HOME_URL","aTag","mobileMediaQuery","_mobileQuery","q","media","desiredQuery","matchMedia","_mobileQueryListener","_handleMobileChange","bind","mql","maxWidthMediaQuery","_maxWidthQuery","_maxWidthQueryListener","_handleMaxWidthChange","classList","add","remove","getAttribute","set","val","DEFAULT_MAX_WIDTH","ATTR_NO_MENU","updateMoreMenuState","className","split","hasClass","classes","arguments","exists","setTo","children","node","moreChildren","filteredChildren","filteredMoreChildren","nav","toggleClass","hasOverflow","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__","BYUMenu","_this8","_HTMLElement5","isShowingMoreMenu","show","enableHideClick","addSlotListeners","_this9","search","handleSlotChange","_input","lookupSearchInput","oldInput","newInput","teardownInputElement","setupInputElement","_searchSlot","input","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","action","ACTION_SUBMIT_FORM","runSubmitFormAction","ACTION_CLICK","runClickAction","ACTION_NAVIGATE","runNavigateAction","Error","ATTR_ACTION","actionTarget","form","HTMLFormElement","localName","button","title","placeholder","helped","__byu_search_a11yHelpersApplied","helpers","includes","__byu_search_keyObserver","keyCode","keypress","removeEventListener","__onbyusearchHandler","onbyusearch","handler","__onsearchLegacyHandler","onsearch","DEFAULT_ACTION_TARGET","__WEBPACK_IMPORTED_MODULE_0__byu_search_html__","_defineProperty","_DEFAULT_ACTION_TARGE","ByuSearch","_this10","_HTMLElement6","_this11","_initialized","lookupAndConfigureInputElement","searchInputSelector","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","teardownSearchListeners","EVENT_TYPE","dispatchEvent","event","cancelled","runPredefinedAction","ATTR_SEARCH_INPUT_SELECTOR","newValue","ATTR_SEARCH_HANDLER","ATTR_OLD_SEARCH_HANDLER","ATTR_ACTION_TARGET","defaultActionTarget","slotElement","k","detectSocialKind","kid","kind","element","SOCIAL_IDS","contains","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__","getOwnPropertyNames","SOCIAL_NAMES","BYUSocialMediaLinks","_this12","_HTMLElement7","_this13","applyTitleToChildren","slot","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__","ByuUserInfo","_this14","_HTMLElement8","_this15","_addAriaAttributes","_setHasUser","userSlot","_this16","factory","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","_transformClass","DEFAULT_EVENTS","transform","revert","elements","Array","slice","events","toLowerCase","getElementList","elementList","eventLists","occasion","tcon","setListeners","__WEBPACK_IMPORTED_MODULE_8__package_json__","CustomEvent","detail","cancelable","bubbles","createEvent","evt","flatten","nodeType","Node","ELEMENT_NODE","roots","len","__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__","child","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","importNode","content","shadow","firstChild","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","x","_typeof","copy","isUndefinedOrNull","a","b","isArguments","deepEqual","opts","isBuffer","objectKeys","ka","kb","expected","Date","getTime","objEquiv","strict","toString","propertyIsEnumerable","keys","_ENCODE_HTML_RULES","escapeFn","markup","replace","_MATCH_HTML","encode_char","__output","push","__append","locals","hash","text","chr","sort","foldValue","seen","fold","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 13);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"c\", function () {\n return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"];\n });\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"b\", function () {\n return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"];\n });\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 1 */\n/***/function (module, exports) {\n\n /*\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\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\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\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var 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/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUFooterActionButton = function (_HTMLElement) {\n _inherits(BYUFooterActionButton, _HTMLElement);\n\n function BYUFooterActionButton() {\n _classCallCheck(this, BYUFooterActionButton);\n\n var _this = _possibleConstructorReturn(this, (BYUFooterActionButton.__proto__ || Object.getPrototypeOf(BYUFooterActionButton)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(BYUFooterActionButton, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\n }\n }]);\n\n return BYUFooterActionButton;\n }(HTMLElement);\n\n window.customElements.define('byu-footer-action-button', BYUFooterActionButton);\n window.BYUFooterActionButton = BYUFooterActionButton;\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUFooterColumn = function (_HTMLElement2) {\n _inherits(BYUFooterColumn, _HTMLElement2);\n\n function BYUFooterColumn() {\n _classCallCheck(this, BYUFooterColumn);\n\n var _this2 = _possibleConstructorReturn(this, (BYUFooterColumn.__proto__ || Object.getPrototypeOf(BYUFooterColumn)).call(this));\n\n _this2.attachShadow({ mode: 'open' });\n return _this2;\n }\n\n _createClass(BYUFooterColumn, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\n }\n }]);\n\n return BYUFooterColumn;\n }(HTMLElement);\n\n window.customElements.define('byu-footer-column', BYUFooterColumn);\n window.BYUFooterColumn = BYUFooterColumn;\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var ATTR_FULL_WIDTH = 'full-width';\n var ATTR_MAX_WIDTH = 'max-width';\n var DEFAULT_MAX_WIDTH = '1200px';\n\n var BYUFooter = function (_HTMLElement3) {\n _inherits(BYUFooter, _HTMLElement3);\n\n function BYUFooter() {\n _classCallCheck(this, BYUFooter);\n\n var _this3 = _possibleConstructorReturn(this, (BYUFooter.__proto__ || Object.getPrototypeOf(BYUFooter)).call(this));\n\n _this3.attachShadow({ mode: 'open' });\n return _this3;\n }\n\n _createClass(BYUFooter, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var component = this;\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, function () {\n // always show the current year in the copyright message\n var currentYear = component.shadowRoot.querySelector(\"#currentYear\");\n currentYear.innerHTML = new Date().getFullYear();\n\n var header = document.querySelector('byu-header');\n var observer = new MutationObserver(function (mutations) {\n component.updateWithHeaderAttributes(header);\n });\n\n // configuration of the observer:\n var config = { attributes: true };\n observer.observe(header, config);\n component.updateWithHeaderAttributes(header); // run it once to get the initial values\n });\n }\n }, {\n key: 'updateWithHeaderAttributes',\n value: function updateWithHeaderAttributes(header) {\n\n // check the header for full-width or max-width attributes\n if (header.hasAttribute(ATTR_FULL_WIDTH)) {\n this.setAttribute(ATTR_FULL_WIDTH, '');\n } else {\n this.removeAttribute(ATTR_FULL_WIDTH);\n }\n\n var w = DEFAULT_MAX_WIDTH;\n if (header.hasAttribute(ATTR_MAX_WIDTH)) {\n w = header.getAttribute(ATTR_MAX_WIDTH);\n }\n this.setAttribute(ATTR_MAX_WIDTH, w);\n\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\n for (var i = 0; i < needsWidthSetting.length; i++) {\n needsWidthSetting[i].style.maxWidth = w;\n needsWidthSetting[i].style.maxWidth = w;\n }\n }\n }]);\n\n return BYUFooter;\n }(HTMLElement);\n\n window.customElements.define('byu-footer', BYUFooter);\n window.BYUFooter = BYUFooter;\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\n var ATTR_MOBILE_MAX_WIDTH = 'mobile-max-width';\n var ATTR_FULL_WIDTH = 'full-width';\n var ATTR_MAX_WIDTH = 'max-width';\n var ATTR_MOBILE_VIEW = 'mobile-view';\n var ATTR_MENU_OPEN = 'menu-open';\n var ATTR_MENU_KEEP_OPEN = 'menu-keep-open';\n var ATTR_NO_MENU = 'no-menu';\n var ATTR_HOME_URL = 'home-url';\n\n var DEFAULT_MOBILE_WIDTH = '1023px';\n var DEFAULT_MAX_WIDTH = '1200px';\n var DEFAULT_HOME_URL = 'https://byu.edu/';\n\n var BYUHeader = function (_HTMLElement4) {\n _inherits(BYUHeader, _HTMLElement4);\n\n function BYUHeader() {\n _classCallCheck(this, BYUHeader);\n\n var _this4 = _possibleConstructorReturn(this, (BYUHeader.__proto__ || Object.getPrototypeOf(BYUHeader)).call(this));\n\n _this4.attachShadow({ mode: 'open' });\n return _this4;\n }\n\n _createClass(BYUHeader, [{\n key: '_render',\n value: function _render() {\n var _this5 = this;\n\n var state = {\n mobile: this.inMobileView\n };\n if (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(state), function () {\n _this5._renderState = state;\n _this5._addSlotListeners();\n _this5._notifyChildrenOfMobileState();\n _this5._addButtonListeners();\n _this5._checkIfMenuIsNeeded();\n _this5._applyHomeUrl();\n _this5._applyMaxWidth();\n });\n }\n }\n }, {\n key: '_checkIfMenuIsNeeded',\n value: function _checkIfMenuIsNeeded() {\n // check whether to show the mobile menu button\n var userSlot = this.shadowRoot.querySelector(\"#user\");\n var hasUserInfo = userSlot.assignedNodes().length !== 0;\n\n var menuSlot = this.shadowRoot.querySelector(\"#navbarMenu\");\n var hasMenu = menuSlot.assignedNodes().length !== 0;\n\n var actionSlot = this.shadowRoot.querySelector('#actions');\n var hasActions = actionSlot.assignedNodes().length !== 0;\n\n this.noMenu = !(hasUserInfo || hasMenu || hasActions);\n\n if (menuSlot.assignedNodes().length < 4) {\n this.setAttribute('left-align', '');\n } else {\n this.removeAttribute('left-align');\n }\n }\n }, {\n key: '_addButtonListeners',\n value: function _addButtonListeners() {\n var _this6 = this;\n\n if (!this.inMobileView) {\n this.menuOpen = false;\n return;\n }\n var menuButton = this.shadowRoot.querySelector('.mobile-menu-button');\n menuButton.addEventListener('click', function () {\n return _this6._toggleMenu();\n });\n }\n }, {\n key: '_toggleMenu',\n value: function _toggleMenu() {\n this.menuOpen = !this.menuOpen;\n }\n }, {\n key: '_addSlotListeners',\n value: function _addSlotListeners() {\n var _this7 = this;\n\n this._findAllSlots().forEach(function (each) {\n each.addEventListener('slotchange', function (event) {\n _this7._notifyChildrenOfMobileState();\n _this7._checkIfMenuIsNeeded();\n });\n });\n }\n }, {\n key: '_notifyChildrenOfMobileState',\n value: function _notifyChildrenOfMobileState() {\n var kids = this._findAllDistributedChildren();\n if (this.inMobileView) {\n kids.forEach(function (each) {\n each.setAttribute(ATTR_MOBILE_VIEW, '');\n each.classList.add(ATTR_MOBILE_VIEW);\n });\n } else {\n kids.forEach(function (each) {\n each.removeAttribute(ATTR_MOBILE_VIEW);\n each.classList.remove(ATTR_MOBILE_VIEW);\n });\n }\n }\n }, {\n key: '_findAllSlots',\n value: function _findAllSlots() {\n var slots = this.shadowRoot.querySelectorAll('slot');\n var arr = [];\n for (var i = 0; i < slots.length; ++i) {\n arr.push(slots[i]);\n }\n return arr;\n }\n }, {\n key: '_findAllDistributedChildren',\n value: function _findAllDistributedChildren() {\n return this._findAllSlots().map(function (s) {\n return s.assignedNodes().filter(function (n) {\n return n instanceof HTMLElement;\n });\n }).reduce(function (agg, each) {\n return agg.concat(each);\n }, []);\n }\n }, {\n key: 'connectedCallback',\n value: function connectedCallback() {\n //This is a hack to ensure that the right defaults get applied.\n this.mobileMaxWidth = this.mobileMaxWidth;\n this._applyMobileWidth();\n this._render();\n this.maxWidth = this.maxWidth;\n\n var header = this;\n setTimeout(function () {\n var menu = header.shadowRoot.querySelector('#mobileMenu');\n if (menu) menu.addEventListener('click', function openMenuClickHandler() {\n console.log(menu.innerHTML);\n if (header.hasAttribute(ATTR_MOBILE_VIEW) && header.hasAttribute(ATTR_MENU_OPEN) && !header.hasAttribute(ATTR_MENU_KEEP_OPEN)) {\n header.removeAttribute(ATTR_MENU_OPEN);\n }\n });\n }, 0);\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_MOBILE_MAX_WIDTH:\n this._applyMobileWidth();\n return;\n case ATTR_MAX_WIDTH:\n this._applyMaxWidth();\n return;\n case ATTR_MOBILE_VIEW:\n this._render();\n return;\n case ATTR_MENU_OPEN:\n this._applyMenuOpen();\n return;\n case ATTR_HOME_URL:\n this._applyHomeUrl();\n return;\n }\n }\n }, {\n key: '_applyMenuOpen',\n value: function _applyMenuOpen() {\n var menu = this.shadowRoot.querySelector('#mobileMenu');\n if (!menu) return;\n if (this.menuOpen) {\n menu.style.maxHeight = menu.scrollHeight + 'px';\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\n } else {\n menu.style.maxHeight = null;\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\n }\n }\n }, {\n key: '_applyHomeUrl',\n value: function _applyHomeUrl() {\n var aTag = this.shadowRoot.querySelector('#home-url');\n if (aTag) {\n //Filter out cases where we haven't fully initialized yet\n aTag.setAttribute('href', this.homeUrl);\n }\n }\n }, {\n key: '_applyMobileWidth',\n value: function _applyMobileWidth() {\n var desiredQuery = this.mobileMediaQuery;\n var q = this._mobileQuery;\n if (q) {\n if (q.media === desiredQuery) {\n //Nothing has changed, bail!\n return;\n } else {\n q.removeListener(this._mobileQueryListener);\n this._mobileQuery = null;\n }\n }\n this._mobileQuery = q = window.matchMedia(desiredQuery);\n this._mobileQueryListener = this._handleMobileChange.bind(this);\n\n q.addListener(this._mobileQueryListener);\n this._mobileQueryListener(q);\n }\n }, {\n key: '_handleMobileChange',\n value: function _handleMobileChange(mql) {\n this.inMobileView = mql.matches;\n }\n }, {\n key: '_applyMaxWidth',\n value: function _applyMaxWidth() {\n\n if (!this.inMobileView) {\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\n for (var i = 0; i < needsWidthSetting.length; i++) {\n needsWidthSetting[i].style.maxWidth = this.maxWidth;\n }\n }\n var desiredQuery = this.maxWidthMediaQuery;\n var q = this._maxWidthQuery;\n if (q) {\n if (q.media === desiredQuery) {\n //Nothing has changed, bail!\n return;\n } else {\n q.removeListener(this._maxWidthQueryListener);\n this._maxWidthQuery = null;\n }\n }\n this._maxWidthQuery = q = window.matchMedia(desiredQuery);\n this._maxWidthQueryListener = this._handleMaxWidthChange.bind(this);\n\n q.addListener(this._maxWidthQueryListener);\n this._maxWidthQueryListener(q);\n }\n }, {\n key: '_handleMaxWidthChange',\n value: function _handleMaxWidthChange(mql) {\n if (mql.matches) {\n this.classList.add('below-max-width');\n } else {\n this.classList.remove('below-max-width');\n }\n }\n }, {\n key: 'mobileMaxWidth',\n get: function get() {\n return this.getAttribute(ATTR_MOBILE_MAX_WIDTH);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, val);\n } else {\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, DEFAULT_MOBILE_WIDTH);\n }\n }\n }, {\n key: 'maxWidth',\n get: function get() {\n return this.getAttribute(ATTR_MAX_WIDTH) || DEFAULT_MAX_WIDTH;\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MAX_WIDTH, val);\n } else {\n this.setAttribute(ATTR_MAX_WIDTH, DEFAULT_MAX_WIDTH);\n }\n }\n }, {\n key: 'inMobileView',\n get: function get() {\n return this.hasAttribute(ATTR_MOBILE_VIEW);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MOBILE_VIEW, '');\n } else {\n this.removeAttribute(ATTR_MOBILE_VIEW);\n }\n }\n }, {\n key: 'menuOpen',\n get: function get() {\n return this.hasAttribute(ATTR_MENU_OPEN);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MENU_OPEN, '');\n } else {\n this.removeAttribute(ATTR_MENU_OPEN);\n }\n }\n }, {\n key: 'keepMenuOpen',\n get: function get() {\n return this.hasAttribute(ATTR_MENU_KEEP_OPEN);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MENU_KEEP_OPEN, '');\n } else {\n this.removeAttribute(ATTR_MENU_KEEP_OPEN);\n }\n }\n }, {\n key: 'noMenu',\n get: function get() {\n return this.hasAttribute(ATTR_NO_MENU);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_NO_MENU, '');\n } else {\n this.removeAttribute(ATTR_NO_MENU);\n }\n }\n }, {\n key: 'homeUrl',\n get: function get() {\n return this.getAttribute(ATTR_HOME_URL) || DEFAULT_HOME_URL;\n },\n set: function set(val) {\n this.setAttribute(ATTR_HOME_URL, val);\n }\n }, {\n key: 'mobileMediaQuery',\n get: function get() {\n return '(max-width: ' + this.mobileMaxWidth + ')';\n }\n }, {\n key: 'maxWidthMediaQuery',\n get: function get() {\n return '(max-width: ' + this.maxWidth + ')';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [ATTR_MOBILE_MAX_WIDTH, ATTR_MOBILE_VIEW, ATTR_MENU_OPEN, ATTR_HOME_URL, ATTR_FULL_WIDTH, ATTR_MAX_WIDTH];\n }\n }]);\n\n return BYUHeader;\n }(HTMLElement);\n\n window.customElements.define('byu-header', BYUHeader);\n window.BYUHeader = BYUHeader;\n\n /***/\n},\n/* 7 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUMenu = function (_HTMLElement5) {\n _inherits(BYUMenu, _HTMLElement5);\n\n _createClass(BYUMenu, [{\n key: 'showMore',\n get: function get() {\n return isShowingMoreMenu(this);\n },\n set: function set(show) {\n var el = this.shadowRoot.querySelector('.byu-menu-more-menu');\n if (show && !isShowingMoreMenu(this)) enableHideClick(this);\n toggleClass(el, 'byu-menu-more-expanded', show);\n }\n }]);\n\n function BYUMenu() {\n _classCallCheck(this, BYUMenu);\n\n // always call super first\n var _this8 = _possibleConstructorReturn(this, (BYUMenu.__proto__ || Object.getPrototypeOf(BYUMenu)).call(this));\n\n _this8.attachShadow({ mode: 'open' });\n return _this8;\n }\n\n _createClass(BYUMenu, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this9 = this;\n\n var component = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, function () {\n updateMoreMenuState(_this9);\n addSlotListeners(_this9);\n\n // when the more button is clicked then show the more menu\n _this9.shadowRoot.querySelector('.byu-menu-more').addEventListener('click', function () {\n component.showMore = true;\n });\n });\n }\n }]);\n\n return BYUMenu;\n }(HTMLElement);\n\n function addSlotListeners(component) {\n component.shadowRoot.querySelector('slot').addEventListener('slotchange', function (e) {\n //Run on microtask timing to let polyfilled shadow DOM changes to propagate\n setTimeout(function () {\n return updateMoreMenuState(component);\n });\n });\n }\n\n function enableHideClick(component) {\n\n var fn = function fn() {\n document.removeEventListener('click', fn);\n component.showMore = false;\n };\n\n setTimeout(function () {\n document.addEventListener('click', fn);\n });\n }\n\n function hasClass(el, className) {\n var classes = el.className.split(/ +/);\n return classes.indexOf(className) !== -1;\n }\n\n function isShowingMoreMenu(component) {\n return hasClass(component.shadowRoot.querySelector('.byu-menu-more-menu'), 'byu-menu-more-expanded');\n }\n\n function toggleClass(el, className, value) {\n var classes = el.className.split(/ +/);\n var index = classes.indexOf(className);\n var exists = index !== -1;\n var setTo = arguments.length > 2 ? arguments[2] : !exists;\n if (setTo && !exists) {\n classes.push(className);\n } else if (!setTo && exists) {\n classes.splice(index, 1);\n }\n el.className = classes.join(' ');\n }\n\n function updateMoreMenuState(component) {\n var children = component.shadowRoot.querySelector('.byu-menu-items').assignedNodes();\n var moreChildren = component.shadowRoot.querySelector('.byu-menu-more-slot').assignedNodes();\n var filteredChildren = children.filter(function (node) {\n return node instanceof HTMLElement;\n });\n var filteredMoreChildren = moreChildren.filter(function (node) {\n return node instanceof HTMLElement;\n });\n var length = filteredChildren.length + filteredMoreChildren.length;\n var hasOverflow = length > 6;\n var nav = component.shadowRoot.querySelector('.outer-nav');\n\n if (nav) toggleClass(nav, 'byu-menu-more-visible', hasOverflow);\n\n if (hasOverflow) {\n for (var i = 5; i < filteredChildren.length; i++) {\n filteredChildren[i].setAttribute('slot', 'more');\n }\n } else if (length === 6) {\n filteredChildren[5].setAttribute('slot', '');\n }\n\n if (length < 4) {\n component.setAttribute('left-align', '');\n } else {\n component.removeAttribute('left-align');\n }\n }\n\n window.customElements.define('byu-menu', BYUMenu);\n window.BYUMenu = BYUMenu;\n\n /***/\n},\n/* 8 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n\n var _DEFAULT_ACTION_TARGE;\n\n var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n /**\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 **/\n\n var CLASS_SELECTED_INPUT = '__byu-search-selected-input';\n\n var ATTR_OLD_SEARCH_HANDLER = 'onsearch';\n var ATTR_SEARCH_HANDLER = 'onbyusearch';\n var ATTR_SEARCH_INPUT_SELECTOR = 'search-input-selector';\n var ATTR_ACTION = 'action';\n var ATTR_ACTION_TARGET = 'action-target';\n\n var ACTION_SUBMIT_FORM = 'submit-form';\n var ACTION_CLICK = 'click';\n var ACTION_NAVIGATE = 'navigate';\n\n var DEFAULT_ACTION_TARGET_SUBMIT_FORM = 'form';\n var DEFAULT_ACTION_TARGET_CLICK = 'button, input[type=\"submit\"], input[type=\"button\"]';\n\n var EVENT_TYPE = 'byu-search';\n\n var DEFAULT_ACTION_TARGET = (_DEFAULT_ACTION_TARGE = {}, _defineProperty(_DEFAULT_ACTION_TARGE, ACTION_SUBMIT_FORM, DEFAULT_ACTION_TARGET_SUBMIT_FORM), _defineProperty(_DEFAULT_ACTION_TARGE, ACTION_CLICK, DEFAULT_ACTION_TARGET_CLICK), _DEFAULT_ACTION_TARGE);\n\n var DEFAULT_SEARCH_INPUT_SELECTOR = 'input[type=\"search\"], input[type=\"text\"]';\n\n var ByuSearch = function (_HTMLElement6) {\n _inherits(ByuSearch, _HTMLElement6);\n\n function ByuSearch() {\n _classCallCheck(this, ByuSearch);\n\n // always call super first\n var _this10 = _possibleConstructorReturn(this, (ByuSearch.__proto__ || Object.getPrototypeOf(ByuSearch)).call(this));\n\n _this10.attachShadow({ mode: 'open' });\n return _this10;\n }\n\n _createClass(ByuSearch, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this11 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, function () {\n _this11._initialized = true;\n\n _this11._input = lookupAndConfigureInputElement(_this11, _this11.searchInputSelector);\n\n setupButtonSearchDispatcher(_this11);\n setupSearchListeners(_this11);\n\n setupSlotListener(_this11);\n });\n }\n }, {\n key: 'disconnectedCallback',\n value: function disconnectedCallback() {\n if (this._input) {\n teardownInputElement(this, this._input);\n }\n\n teardownSearchListeners(this);\n }\n }, {\n key: 'search',\n value: function search() {\n var el = this._input;\n if (!el) {\n throw new Error('Unable to perform search; no search element matching the selector \\'' + this.searchInputSelector + '\\' can be found!');\n }\n var value = el.value;\n if (!value) return;\n\n var event = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* createEvent */](EVENT_TYPE, { search: value });\n\n var cancelled = !this.dispatchEvent(event);\n if (cancelled) return;\n\n if (this.action) {\n runPredefinedAction(this, value);\n }\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n if (!this._initialized) return;\n switch (attr) {\n case ATTR_SEARCH_INPUT_SELECTOR:\n if (this._input) {\n teardownInputElement(this, this._input);\n }\n\n this._input = lookupAndConfigureInputElement(this, newValue);\n\n return;\n //All other attrs are lazily looked up, as needed.\n }\n }\n }, {\n key: 'onbyusearch',\n get: function get() {\n return this.getAttribute(ATTR_SEARCH_HANDLER);\n },\n set: function set(value) {\n this.setAttribute(ATTR_SEARCH_HANDLER, value);\n }\n }, {\n key: 'onsearch',\n get: function get() {\n return this.getAttribute(ATTR_OLD_SEARCH_HANDLER);\n },\n set: function set(value) {\n this.setAttribute(ATTR_OLD_SEARCH_HANDLER, value);\n }\n }, {\n key: 'searchInputSelector',\n set: function set(value) {\n this.setAttribute(ATTR_SEARCH_INPUT_SELECTOR, value);\n },\n get: function get() {\n return this.getAttribute(ATTR_SEARCH_INPUT_SELECTOR) || DEFAULT_SEARCH_INPUT_SELECTOR;\n }\n }, {\n key: 'action',\n set: function set(value) {\n this.setAttribute(ATTR_ACTION, value);\n },\n get: function get() {\n //Defaults to null\n return this.getAttribute(ATTR_ACTION);\n }\n }, {\n key: 'actionTarget',\n set: function set(value) {\n this.setAttribute(ATTR_ACTION_TARGET, value);\n },\n get: function get() {\n //Default depends on action target value\n return this.getAttribute(ATTR_ACTION_TARGET) || defaultActionTarget(this.action);\n }\n }, {\n key: '_searchSlot',\n get: function get() {\n return this.shadowRoot.querySelector('#search');\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [ATTR_SEARCH_INPUT_SELECTOR];\n }\n }]);\n\n return ByuSearch;\n }(HTMLElement);\n\n window.customElements.define('byu-search', ByuSearch);\n window.ByuSearch = ByuSearch;\n\n function setupSlotListener(search) {\n search._searchSlot.addEventListener('slotchange', function (e) {\n handleSlotChange(search, e);\n });\n }\n\n function handleSlotChange(search, event) {\n var oldInput = search._input;\n var newInput = lookupSearchInput(search);\n\n if (oldInput === newInput) return;\n\n search._input = newInput;\n\n if (oldInput) {\n teardownInputElement(search, oldInput);\n }\n if (newInput) {\n setupInputElement(search, newInput);\n } else {\n console.error('[byu-search] WARNING! Unable to find a search input element using the selector \\'' + search.searchInputSelector + '\\' on ', search);\n }\n }\n\n function lookupSearchInput(search, selector) {\n return __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, selector);\n }\n\n function lookupAndConfigureInputElement(search, selector) {\n var input = lookupSearchInput(search, selector);\n\n if (input) {\n setupInputElement(search, input);\n } else {\n console.error('[byu-search] WARNING! Unable to find a search input element using the selector \\'' + selector + '\\' on ', search);\n }\n return input;\n }\n\n function setupInputElement(search, input) {\n applyStyleHelpers(search, input);\n applyA11yHelpers(search, input);\n setupEnterKeySearchDispatcher(search, input);\n }\n\n function teardownInputElement(search, input) {\n removeStyleHelpers(search, input);\n removeA11yHelpers(search, input);\n teardownEnterKeySearchDispatcher(search, input);\n }\n\n function runPredefinedAction(search, value) {\n var action = search.action;\n\n switch (action) {\n case ACTION_SUBMIT_FORM:\n runSubmitFormAction(search, value);\n break;\n case ACTION_CLICK:\n runClickAction(search, value);\n break;\n case ACTION_NAVIGATE:\n runNavigateAction(search, value);\n break;\n default:\n throw new Error('Invalid value for ' + ATTR_ACTION + ': \\'' + action + '\\'');\n }\n }\n\n function runSubmitFormAction(search, value) {\n var target = search.actionTarget;\n\n var form = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\n\n if (!form) {\n throw new Error('Unable to find target for \\'submit-form\\' action using selector \\'' + target + '\\'');\n }\n\n if (!(form instanceof HTMLFormElement)) {\n throw new Error('Element found by selector \\'' + target + '\\' must be a , but was \\'' + form.localName + '\\'');\n }\n\n form.submit();\n }\n\n function runClickAction(search, value) {\n var target = search.actionTarget;\n\n var button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\n\n if (!button) {\n throw new Error('Unable to find target for \\'click\\' action using selector \\'' + target + '\\'');\n }\n\n button.click();\n }\n\n function runNavigateAction(search, value) {\n var target = search.actionTarget;\n\n if (!target) {\n throw new Error('When using action=\"navigate\", you must specify an action-target');\n }\n\n if (target.indexOf('${search}')) {\n console.warn('[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain ${search} will not include the search terms in the URL.', search);\n }\n\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\n }\n\n function applyStyleHelpers(search, input) {\n input.classList.add(CLASS_SELECTED_INPUT);\n }\n\n function removeStyleHelpers(search, input) {\n input.classList.remove(CLASS_SELECTED_INPUT);\n }\n\n // For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\n function applyA11yHelpers(search, input) {\n if (input.title && input.placeholder) return;\n\n var helped = [];\n\n if (!input.title && !input.placeholder) {\n input.title = input.placeholder = 'Search';\n helped.push('title', 'placeholder');\n } else if (input.title) {\n input.placeholder = input.title;\n helped.push('placeholder');\n } else {\n input.title = input.placeholder;\n helped.push('title');\n }\n\n input.__byu_search_a11yHelpersApplied = helped;\n }\n\n function removeA11yHelpers(search, input) {\n var helpers = input.__byu_search_a11yHelpersApplied;\n if (!helpers) return;\n\n if (helpers.includes('title')) {\n input.title = null;\n }\n if (helpers.includes('placeholder')) {\n input.placeholder = null;\n }\n delete input.__byu_search_a11yHelpersApplied;\n }\n\n function setupButtonSearchDispatcher(search) {\n search.shadowRoot.querySelector('#search-button').addEventListener('click', function () {\n search.search();\n });\n }\n\n function setupEnterKeySearchDispatcher(search, input) {\n var keypress = input.__byu_search_keyObserver = function (e) {\n if (e.keyCode === 13) {\n search.search();\n }\n };\n input.addEventListener('keypress', keypress, false);\n }\n\n function teardownEnterKeySearchDispatcher(search, input) {\n var keypress = input.__byu_search_keyObserver;\n if (keypress) input.removeEventListener('keypress', keypress, false);\n }\n\n function setupSearchListeners(search) {\n var handler = search.__onbyusearchHandler = function (event) {\n var name = search.onbyusearch;\n if (!name) return;\n var handler = window[name];\n if (!handler) {\n throw new Error('Unable to find a global function named \\'' + name + '\\'');\n }\n handler.call(search, event);\n };\n\n search.addEventListener(EVENT_TYPE, handler, false);\n\n var legacyHandler = search.__onsearchLegacyHandler = function (event) {\n var name = search.onsearch;\n if (!name) return;\n\n var handler = window[name];\n if (!handler) {\n throw new Error('Unable to find a global function named \\'' + name + '\\'');\n }\n handler.call(search, event.detail.search, event);\n };\n\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\n }\n\n function teardownSearchListeners(search) {\n if (search.__onbyusearchHandler) {\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\n }\n if (search.__onsearchLegacyHandler) {\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\n }\n }\n\n function defaultActionTarget(action) {\n if (!action) return null;\n return DEFAULT_ACTION_TARGET[action];\n }\n\n /***/\n},\n/* 9 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var SOCIAL_NAMES = {\n 'facebook': 'Facebook',\n 'twitter': 'Twitter',\n 'instagram': 'Instagram',\n 'youtube': 'YouTube',\n 'pinterest': 'Pinterest',\n 'google-plus': 'Google+',\n 'googleplus': 'Google+',\n 'gplus': 'Google+',\n 'linkedin': 'LinkedIn',\n 'rss': 'RSS',\n 'snapchat': 'Snapchat',\n 'podcast': 'Podcast'\n };\n\n var SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\n\n var BYUSocialMediaLinks = function (_HTMLElement7) {\n _inherits(BYUSocialMediaLinks, _HTMLElement7);\n\n function BYUSocialMediaLinks() {\n _classCallCheck(this, BYUSocialMediaLinks);\n\n var _this12 = _possibleConstructorReturn(this, (BYUSocialMediaLinks.__proto__ || Object.getPrototypeOf(BYUSocialMediaLinks)).call(this));\n\n _this12.attachShadow({ mode: 'open' });\n return _this12;\n }\n\n _createClass(BYUSocialMediaLinks, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this13 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, function () {\n var main = _this13.shadowRoot.querySelector('#social-main');\n applyTitleToChildren(main);\n\n SOCIAL_IDS.forEach(function (id) {\n var slot = _this13.shadowRoot.querySelector('#social-deprecated-' + id);\n if (!slot) return;\n\n applyTitleToChildren(slot);\n //We're still supporting the old way, but it's deprecated and people should move on.\n if (slot.assignedNodes().length > 0) {\n console.log('[WARNING] byu-social-media-links: deprecated usage of slot=\"' + id + '\". Replace with class=\"' + id + '\":', _this13);\n }\n });\n });\n }\n }]);\n\n return BYUSocialMediaLinks;\n }(HTMLElement);\n\n window.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\n window.BYUSocialMediaLinks = BYUSocialMediaLinks;\n\n function applyTitleToChildren(slotElement) {\n var kids = slotElement.assignedNodes();\n kids.filter(function (k) {\n return k instanceof HTMLElement;\n })\n //Only grab the ones that don't already have a title\n .filter(function (k) {\n return !k.title;\n }).forEach(function (kid) {\n var kind = detectSocialKind(kid);\n if (!kind) {\n return;\n }\n //The spaces are a hack to avoid triggering adblockplus.\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\n });\n }\n\n function detectSocialKind(element) {\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\n for (var i = 0; i < SOCIAL_IDS.length; i++) {\n var id = SOCIAL_IDS[i];\n if (element.classList.contains(id)) {\n return id;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 10 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n /**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n var ByuUserInfo = function (_HTMLElement8) {\n _inherits(ByuUserInfo, _HTMLElement8);\n\n function ByuUserInfo() {\n _classCallCheck(this, ByuUserInfo);\n\n var _this14 = _possibleConstructorReturn(this, (ByuUserInfo.__proto__ || Object.getPrototypeOf(ByuUserInfo)).call(this));\n\n var shadowRoot = _this14.attachShadow({ mode: 'open' });\n\n return _this14;\n }\n\n _createClass(ByuUserInfo, [{\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n }, {\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this15 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, function () {\n _this15._addSlotListeners();\n _this15._addAriaAttributes();\n });\n }\n }, {\n key: '_addSlotListeners',\n value: function _addSlotListeners() {\n var _this16 = this;\n\n this._setHasUser();\n var userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', function (e) {\n _this16._setHasUser();\n });\n }\n }, {\n key: '_setHasUser',\n value: function _setHasUser() {\n var userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n } else {\n this.removeAttribute('has-user');\n }\n }\n }, {\n key: '_addAriaAttributes',\n value: function _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n // return ['login-url'];\n }\n }]);\n\n return ByuUserInfo;\n }(HTMLElement);\n\n window.customElements.define('byu-user-info', ByuUserInfo);\n window.ByuUserInfo = ByuUserInfo;\n\n /***/\n},\n/* 11 */\n/***/function (module, exports) {\n\n module.exports = {\n \"name\": \"byuweb-components\",\n \"version\": \"1.0.3\",\n \"description\": \"Components to be used for byu web pages and applications.\",\n \"main\": \"\",\n \"scripts\": {\n \"build\": \"gulp build\",\n \"serve\": \"gulp watch\",\n \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n },\n \"private\": true,\n \"author\": \"\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"byu-web-component-utils\": \"^0.4.2\",\n \"deep-equal\": \"^1.0.1\",\n \"sass-loader\": \"^6.0.6\"\n },\n \"devDependencies\": {\n \"browser-sync\": \"^2.18.6\",\n \"byu-web-component-build\": \"^0.2.3\",\n \"git-revision-webpack-plugin\": \"^2.5.1\",\n \"gulp\": \"^3.9.1\",\n \"gulp-rename\": \"^1.2.2\"\n }\n };\n\n /***/\n},\n/* 12 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; /**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n (function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n })(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var tcon = {},\n // static class\n _transformClass = 'tcon-transform',\n\n\n // const\n DEFAULT_EVENTS = {\n transform: ['click'],\n revert: ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function getElementList(elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function getEventList(events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function setListeners(elements, events, remove) {\n var method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = events && events[prop] ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while (currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while (currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function handleEvent(event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function (element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function (element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function (element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n });\n\n /***/\n},\n/* 13 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n /**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n /*\n * Header Bits\n */\n\n /*\n * Footer Bits\n */\n\n console.log('--------------- Starting byu-theme-components ' + __WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"] + ' ---------------');\n\n /***/\n},\n/* 14 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = createEvent;\n /*\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\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 15 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = querySelectorSlot;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n /*\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\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 16 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\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\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 17 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 18 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 19 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 20 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 21 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 22 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 23 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 24 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 25 */\n/***/function (module, exports, __webpack_require__) {\n\n var pSlice = Array.prototype.slice;\n var objectKeys = __webpack_require__(27);\n var isArguments = __webpack_require__(26);\n\n var deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || (typeof actual === 'undefined' ? 'undefined' : _typeof(actual)) != 'object' && (typeof expected === 'undefined' ? 'undefined' : _typeof(expected)) != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n };\n\n function isUndefinedOrNull(value) {\n return value === null || value === undefined;\n }\n\n function isBuffer(x) {\n if (!x || (typeof x === 'undefined' ? 'undefined' : _typeof(x)) !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n }\n\n function objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {\n //happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length) return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return (typeof a === 'undefined' ? 'undefined' : _typeof(a)) === (typeof b === 'undefined' ? 'undefined' : _typeof(b));\n }\n\n /***/\n},\n/* 26 */\n/***/function (module, exports) {\n\n var supportsArgumentsClass = function () {\n return Object.prototype.toString.call(arguments);\n }() == '[object Arguments]';\n\n exports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\n exports.supported = supported;\n function supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n };\n\n exports.unsupported = unsupported;\n function unsupported(object) {\n return object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) == 'object' && typeof object.length == 'number' && Object.prototype.hasOwnProperty.call(object, 'callee') && !Object.prototype.propertyIsEnumerable.call(object, 'callee') || false;\n };\n\n /***/\n},\n/* 27 */\n/***/function (module, exports) {\n\n exports = module.exports = typeof Object.keys === 'function' ? Object.keys : shim;\n\n exports.shim = shim;\n function shim(obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n }\n\n /***/\n},\n/* 28 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n\n escapeFn = escapeFn || function (markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n },\n _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [],\n __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n };\n\n /***/\n},\n/* 29 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 30 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 31 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"

\";\n\n /***/\n},\n/* 32 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n /***/\n},\n/* 33 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \" \";\n\n /***/\n},\n/* 34 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 35 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 36 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
Sign In
Sign Out
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components-compat.js","components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["key","obj","Object","defineProperty","value","enumerable","configurable","writable","instance","Constructor","TypeError","self","ReferenceError","call","superClass","subClass","prototype","create","constructor","setPrototypeOf","__proto__","Symbol","iterator","i","props","length","descriptor","target","protoProps","defineProperties","staticProps","installedModules","moduleId","exports","l","modules","module","__webpack_require__","m","c","d","o","name","get","getter","n","__esModule","hasOwnProperty","object","property","p","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","__WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__","__WEBPACK_IMPORTED_MODULE_3__lib_createEvent__","list","item","result","join","id","alreadyImportedModules","mediaQuery","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__","_classCallCheck","BYUFooterActionButton","_possibleConstructorReturn","getPrototypeOf","_this","attachShadow","mode","_inherits","_HTMLElement","_createClass","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","HTMLElement","window","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__","BYUFooterColumn","_this2","_HTMLElement2","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__","BYUFooter","_this3","_HTMLElement3","component","shadowRoot","querySelector","currentYear","MutationObserver","observer","attributes","header","hasAttribute","ATTR_FULL_WIDTH","setAttribute","removeAttribute","ATTR_MAX_WIDTH","w","needsWidthSetting","__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__","__WEBPACK_IMPORTED_MODULE_1_deep_equal__","__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__","BYUHeader","_this4","_HTMLElement4","mobile","state","_renderState","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","_this5","_addSlotListeners","_notifyChildrenOfMobileState","_addButtonListeners","_checkIfMenuIsNeeded","_applyHomeUrl","_applyMaxWidth","assignedNodes","noMenu","hasUserInfo","hasMenu","hasActions","inMobileView","menuOpen","menuButton","_this6","_toggleMenu","_findAllSlots","forEach","each","_this7","_findAllDistributedChildren","kids","slots","arr","map","filter","reduce","agg","concat","mobileMaxWidth","_applyMobileWidth","_render","maxWidth","setTimeout","menu","addEventListener","console","ATTR_MOBILE_VIEW","ATTR_MENU_OPEN","ATTR_MENU_KEEP_OPEN","attr","ATTR_MOBILE_MAX_WIDTH","_applyMenuOpen","ATTR_HOME_URL","aTag","mobileMediaQuery","_mobileQuery","q","media","desiredQuery","matchMedia","_mobileQueryListener","_handleMobileChange","bind","mql","maxWidthMediaQuery","_maxWidthQuery","_maxWidthQueryListener","_handleMaxWidthChange","classList","add","remove","getAttribute","set","val","DEFAULT_MAX_WIDTH","ATTR_NO_MENU","updateMoreMenuState","className","split","hasClass","classes","arguments","exists","setTo","children","node","moreChildren","filteredChildren","filteredMoreChildren","nav","toggleClass","hasOverflow","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__","BYUMenu","_this8","_HTMLElement5","isShowingMoreMenu","show","enableHideClick","addSlotListeners","_this9","search","handleSlotChange","_input","lookupSearchInput","oldInput","newInput","teardownInputElement","setupInputElement","_searchSlot","input","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","action","ACTION_SUBMIT_FORM","runSubmitFormAction","ACTION_CLICK","runClickAction","ACTION_NAVIGATE","runNavigateAction","Error","ATTR_ACTION","actionTarget","form","HTMLFormElement","localName","button","title","placeholder","helped","__byu_search_a11yHelpersApplied","helpers","includes","__byu_search_keyObserver","keyCode","keypress","removeEventListener","__onbyusearchHandler","onbyusearch","handler","__onsearchLegacyHandler","onsearch","DEFAULT_ACTION_TARGET","__WEBPACK_IMPORTED_MODULE_0__byu_search_html__","_defineProperty","_DEFAULT_ACTION_TARGE","ByuSearch","_this10","_HTMLElement6","_this11","_initialized","lookupAndConfigureInputElement","searchInputSelector","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","teardownSearchListeners","EVENT_TYPE","dispatchEvent","event","cancelled","runPredefinedAction","ATTR_SEARCH_INPUT_SELECTOR","newValue","ATTR_SEARCH_HANDLER","ATTR_OLD_SEARCH_HANDLER","ATTR_ACTION_TARGET","defaultActionTarget","slotElement","k","detectSocialKind","kid","kind","element","SOCIAL_IDS","contains","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__","getOwnPropertyNames","SOCIAL_NAMES","BYUSocialMediaLinks","_this12","_HTMLElement7","_this13","applyTitleToChildren","slot","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__","ByuUserInfo","_this14","_HTMLElement8","_this15","_addAriaAttributes","_setHasUser","userSlot","_this16","factory","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","_transformClass","DEFAULT_EVENTS","transform","revert","elements","Array","slice","events","toLowerCase","getElementList","elementList","eventLists","occasion","tcon","setListeners","__WEBPACK_IMPORTED_MODULE_8__package_json__","CustomEvent","detail","cancelable","bubbles","createEvent","evt","flatten","nodeType","Node","ELEMENT_NODE","roots","len","__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__","child","elementName","sum","head","templateId","templateElement","ShadyCSS","styleElement","applyStyle","importNode","content","shadow","firstChild","runAfterStamping","callback","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","template","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","x","_typeof","copy","isUndefinedOrNull","a","b","isArguments","deepEqual","opts","isBuffer","objectKeys","ka","kb","expected","Date","getTime","objEquiv","strict","toString","propertyIsEnumerable","keys","_ENCODE_HTML_RULES","escapeFn","markup","replace","_MATCH_HTML","encode_char","__output","push","__append","locals","hash","text","chr","sort","foldValue","seen","fold","foldObject","pad"],"mappings":"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","file":"components-compat.min.js","sourcesContent":[";(function() {\n\"use strict\";\n\n'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/******/(function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // identity function for calling harmony imports with the correct context\n /******/__webpack_require__.i = function (value) {\n return value;\n };\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 13);\n /******/\n})(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"a\", function () {\n return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"];\n });\n /* unused harmony reexport matchesSelector */\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"c\", function () {\n return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"];\n });\n /* harmony reexport (binding) */__webpack_require__.d(__webpack_exports__, \"b\", function () {\n return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"];\n });\n /**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n /***/\n},\n/* 1 */\n/***/function (module, exports) {\n\n /*\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\n module.exports = function () {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n var result = [];\n for (var i = 0; i < this.length; i++) {\n var item = this[i];\n if (item[2]) {\n result.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\n } else {\n result.push(item[1]);\n }\n }\n return result.join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function (modules, mediaQuery) {\n if (typeof modules === \"string\") modules = [[null, modules, \"\"]];\n var alreadyImportedModules = {};\n for (var i = 0; i < this.length; i++) {\n var id = this[i][0];\n if (typeof id === \"number\") alreadyImportedModules[id] = true;\n }\n for (i = 0; i < modules.length; i++) {\n var item = modules[i];\n // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n if (typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n }\n list.push(item);\n }\n }\n };\n return list;\n };\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = matchesSelector;\n /*\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\n function matchesSelector(el, selector) {\n var proto = Element.prototype;\n var actual = proto.matches || proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector || proto.webkitMatchesSelector || function (s) {\n var 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/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUFooterActionButton = function (_HTMLElement) {\n _inherits(BYUFooterActionButton, _HTMLElement);\n\n function BYUFooterActionButton() {\n _classCallCheck(this, BYUFooterActionButton);\n\n var _this = _possibleConstructorReturn(this, (BYUFooterActionButton.__proto__ || Object.getPrototypeOf(BYUFooterActionButton)).call(this));\n\n _this.attachShadow({ mode: 'open' });\n return _this;\n }\n\n _createClass(BYUFooterActionButton, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\n }\n }]);\n\n return BYUFooterActionButton;\n }(HTMLElement);\n\n window.customElements.define('byu-footer-action-button', BYUFooterActionButton);\n window.BYUFooterActionButton = BYUFooterActionButton;\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUFooterColumn = function (_HTMLElement2) {\n _inherits(BYUFooterColumn, _HTMLElement2);\n\n function BYUFooterColumn() {\n _classCallCheck(this, BYUFooterColumn);\n\n var _this2 = _possibleConstructorReturn(this, (BYUFooterColumn.__proto__ || Object.getPrototypeOf(BYUFooterColumn)).call(this));\n\n _this2.attachShadow({ mode: 'open' });\n return _this2;\n }\n\n _createClass(BYUFooterColumn, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\n }\n }]);\n\n return BYUFooterColumn;\n }(HTMLElement);\n\n window.customElements.define('byu-footer-column', BYUFooterColumn);\n window.BYUFooterColumn = BYUFooterColumn;\n\n /***/\n},\n/* 5 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var ATTR_FULL_WIDTH = 'full-width';\n var ATTR_MAX_WIDTH = 'max-width';\n var DEFAULT_MAX_WIDTH = '1200px';\n\n var BYUFooter = function (_HTMLElement3) {\n _inherits(BYUFooter, _HTMLElement3);\n\n function BYUFooter() {\n _classCallCheck(this, BYUFooter);\n\n var _this3 = _possibleConstructorReturn(this, (BYUFooter.__proto__ || Object.getPrototypeOf(BYUFooter)).call(this));\n\n _this3.attachShadow({ mode: 'open' });\n return _this3;\n }\n\n _createClass(BYUFooter, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var component = this;\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, function () {\n // always show the current year in the copyright message\n var currentYear = component.shadowRoot.querySelector(\"#currentYear\");\n currentYear.innerHTML = new Date().getFullYear();\n\n var header = document.querySelector('byu-header');\n var observer = new MutationObserver(function (mutations) {\n component.updateWithHeaderAttributes(header);\n });\n\n // configuration of the observer:\n var config = { attributes: true };\n observer.observe(header, config);\n component.updateWithHeaderAttributes(header); // run it once to get the initial values\n });\n }\n }, {\n key: 'updateWithHeaderAttributes',\n value: function updateWithHeaderAttributes(header) {\n\n // check the header for full-width or max-width attributes\n if (header.hasAttribute(ATTR_FULL_WIDTH)) {\n this.setAttribute(ATTR_FULL_WIDTH, '');\n } else {\n this.removeAttribute(ATTR_FULL_WIDTH);\n }\n\n var w = DEFAULT_MAX_WIDTH;\n if (header.hasAttribute(ATTR_MAX_WIDTH)) {\n w = header.getAttribute(ATTR_MAX_WIDTH);\n }\n this.setAttribute(ATTR_MAX_WIDTH, w);\n\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\n for (var i = 0; i < needsWidthSetting.length; i++) {\n needsWidthSetting[i].style.maxWidth = w;\n needsWidthSetting[i].style.maxWidth = w;\n }\n }\n }]);\n\n return BYUFooter;\n }(HTMLElement);\n\n window.customElements.define('byu-footer', BYUFooter);\n window.BYUFooter = BYUFooter;\n\n /***/\n},\n/* 6 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\n var ATTR_MOBILE_MAX_WIDTH = 'mobile-max-width';\n var ATTR_FULL_WIDTH = 'full-width';\n var ATTR_MAX_WIDTH = 'max-width';\n var ATTR_MOBILE_VIEW = 'mobile-view';\n var ATTR_MENU_OPEN = 'menu-open';\n var ATTR_MENU_KEEP_OPEN = 'menu-keep-open';\n var ATTR_NO_MENU = 'no-menu';\n var ATTR_HOME_URL = 'home-url';\n\n var DEFAULT_MOBILE_WIDTH = '1023px';\n var DEFAULT_MAX_WIDTH = '1200px';\n var DEFAULT_HOME_URL = 'https://byu.edu/';\n\n var BYUHeader = function (_HTMLElement4) {\n _inherits(BYUHeader, _HTMLElement4);\n\n function BYUHeader() {\n _classCallCheck(this, BYUHeader);\n\n var _this4 = _possibleConstructorReturn(this, (BYUHeader.__proto__ || Object.getPrototypeOf(BYUHeader)).call(this));\n\n _this4.attachShadow({ mode: 'open' });\n return _this4;\n }\n\n _createClass(BYUHeader, [{\n key: '_render',\n value: function _render() {\n var _this5 = this;\n\n var state = {\n mobile: this.inMobileView\n };\n if (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(state), function () {\n _this5._renderState = state;\n _this5._addSlotListeners();\n _this5._notifyChildrenOfMobileState();\n _this5._addButtonListeners();\n _this5._checkIfMenuIsNeeded();\n _this5._applyHomeUrl();\n _this5._applyMaxWidth();\n });\n }\n }\n }, {\n key: '_checkIfMenuIsNeeded',\n value: function _checkIfMenuIsNeeded() {\n // check whether to show the mobile menu button\n var userSlot = this.shadowRoot.querySelector(\"#user\");\n var hasUserInfo = userSlot.assignedNodes().length !== 0;\n\n var menuSlot = this.shadowRoot.querySelector(\"#navbarMenu\");\n var hasMenu = menuSlot.assignedNodes().length !== 0;\n\n var actionSlot = this.shadowRoot.querySelector('#actions');\n var hasActions = actionSlot.assignedNodes().length !== 0;\n\n this.noMenu = !(hasUserInfo || hasMenu || hasActions);\n\n if (menuSlot.assignedNodes().length < 4) {\n this.setAttribute('left-align', '');\n } else {\n this.removeAttribute('left-align');\n }\n }\n }, {\n key: '_addButtonListeners',\n value: function _addButtonListeners() {\n var _this6 = this;\n\n if (!this.inMobileView) {\n this.menuOpen = false;\n return;\n }\n var menuButton = this.shadowRoot.querySelector('.mobile-menu-button');\n menuButton.addEventListener('click', function () {\n return _this6._toggleMenu();\n });\n }\n }, {\n key: '_toggleMenu',\n value: function _toggleMenu() {\n this.menuOpen = !this.menuOpen;\n }\n }, {\n key: '_addSlotListeners',\n value: function _addSlotListeners() {\n var _this7 = this;\n\n this._findAllSlots().forEach(function (each) {\n each.addEventListener('slotchange', function (event) {\n _this7._notifyChildrenOfMobileState();\n _this7._checkIfMenuIsNeeded();\n });\n });\n }\n }, {\n key: '_notifyChildrenOfMobileState',\n value: function _notifyChildrenOfMobileState() {\n var kids = this._findAllDistributedChildren();\n if (this.inMobileView) {\n kids.forEach(function (each) {\n each.setAttribute(ATTR_MOBILE_VIEW, '');\n each.classList.add(ATTR_MOBILE_VIEW);\n });\n } else {\n kids.forEach(function (each) {\n each.removeAttribute(ATTR_MOBILE_VIEW);\n each.classList.remove(ATTR_MOBILE_VIEW);\n });\n }\n }\n }, {\n key: '_findAllSlots',\n value: function _findAllSlots() {\n var slots = this.shadowRoot.querySelectorAll('slot');\n var arr = [];\n for (var i = 0; i < slots.length; ++i) {\n arr.push(slots[i]);\n }\n return arr;\n }\n }, {\n key: '_findAllDistributedChildren',\n value: function _findAllDistributedChildren() {\n return this._findAllSlots().map(function (s) {\n return s.assignedNodes().filter(function (n) {\n return n instanceof HTMLElement;\n });\n }).reduce(function (agg, each) {\n return agg.concat(each);\n }, []);\n }\n }, {\n key: 'connectedCallback',\n value: function connectedCallback() {\n //This is a hack to ensure that the right defaults get applied.\n this.mobileMaxWidth = this.mobileMaxWidth;\n this._applyMobileWidth();\n this._render();\n this.maxWidth = this.maxWidth;\n\n var header = this;\n setTimeout(function () {\n var menu = header.shadowRoot.querySelector('#mobileMenu');\n if (menu) menu.addEventListener('click', function openMenuClickHandler() {\n console.log(menu.innerHTML);\n if (header.hasAttribute(ATTR_MOBILE_VIEW) && header.hasAttribute(ATTR_MENU_OPEN) && !header.hasAttribute(ATTR_MENU_KEEP_OPEN)) {\n header.removeAttribute(ATTR_MENU_OPEN);\n }\n });\n }, 0);\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n switch (attr) {\n case ATTR_MOBILE_MAX_WIDTH:\n this._applyMobileWidth();\n return;\n case ATTR_MAX_WIDTH:\n this._applyMaxWidth();\n return;\n case ATTR_MOBILE_VIEW:\n this._render();\n return;\n case ATTR_MENU_OPEN:\n this._applyMenuOpen();\n return;\n case ATTR_HOME_URL:\n this._applyHomeUrl();\n return;\n }\n }\n }, {\n key: '_applyMenuOpen',\n value: function _applyMenuOpen() {\n var menu = this.shadowRoot.querySelector('#mobileMenu');\n if (!menu) return;\n if (this.menuOpen) {\n menu.style.maxHeight = menu.scrollHeight + 'px';\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\n } else {\n menu.style.maxHeight = null;\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\n }\n }\n }, {\n key: '_applyHomeUrl',\n value: function _applyHomeUrl() {\n var aTag = this.shadowRoot.querySelector('#home-url');\n if (aTag) {\n //Filter out cases where we haven't fully initialized yet\n aTag.setAttribute('href', this.homeUrl);\n }\n }\n }, {\n key: '_applyMobileWidth',\n value: function _applyMobileWidth() {\n var desiredQuery = this.mobileMediaQuery;\n var q = this._mobileQuery;\n if (q) {\n if (q.media === desiredQuery) {\n //Nothing has changed, bail!\n return;\n } else {\n q.removeListener(this._mobileQueryListener);\n this._mobileQuery = null;\n }\n }\n this._mobileQuery = q = window.matchMedia(desiredQuery);\n this._mobileQueryListener = this._handleMobileChange.bind(this);\n\n q.addListener(this._mobileQueryListener);\n this._mobileQueryListener(q);\n }\n }, {\n key: '_handleMobileChange',\n value: function _handleMobileChange(mql) {\n this.inMobileView = mql.matches;\n }\n }, {\n key: '_applyMaxWidth',\n value: function _applyMaxWidth() {\n\n if (!this.inMobileView) {\n var needsWidthSetting = this.shadowRoot.querySelectorAll('.needs-width-setting');\n for (var i = 0; i < needsWidthSetting.length; i++) {\n needsWidthSetting[i].style.maxWidth = this.maxWidth;\n }\n }\n var desiredQuery = this.maxWidthMediaQuery;\n var q = this._maxWidthQuery;\n if (q) {\n if (q.media === desiredQuery) {\n //Nothing has changed, bail!\n return;\n } else {\n q.removeListener(this._maxWidthQueryListener);\n this._maxWidthQuery = null;\n }\n }\n this._maxWidthQuery = q = window.matchMedia(desiredQuery);\n this._maxWidthQueryListener = this._handleMaxWidthChange.bind(this);\n\n q.addListener(this._maxWidthQueryListener);\n this._maxWidthQueryListener(q);\n }\n }, {\n key: '_handleMaxWidthChange',\n value: function _handleMaxWidthChange(mql) {\n if (mql.matches) {\n this.classList.add('below-max-width');\n } else {\n this.classList.remove('below-max-width');\n }\n }\n }, {\n key: 'mobileMaxWidth',\n get: function get() {\n return this.getAttribute(ATTR_MOBILE_MAX_WIDTH);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, val);\n } else {\n this.setAttribute(ATTR_MOBILE_MAX_WIDTH, DEFAULT_MOBILE_WIDTH);\n }\n }\n }, {\n key: 'maxWidth',\n get: function get() {\n return this.getAttribute(ATTR_MAX_WIDTH) || DEFAULT_MAX_WIDTH;\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MAX_WIDTH, val);\n } else {\n this.setAttribute(ATTR_MAX_WIDTH, DEFAULT_MAX_WIDTH);\n }\n }\n }, {\n key: 'inMobileView',\n get: function get() {\n return this.hasAttribute(ATTR_MOBILE_VIEW);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MOBILE_VIEW, '');\n } else {\n this.removeAttribute(ATTR_MOBILE_VIEW);\n }\n }\n }, {\n key: 'menuOpen',\n get: function get() {\n return this.hasAttribute(ATTR_MENU_OPEN);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MENU_OPEN, '');\n } else {\n this.removeAttribute(ATTR_MENU_OPEN);\n }\n }\n }, {\n key: 'keepMenuOpen',\n get: function get() {\n return this.hasAttribute(ATTR_MENU_KEEP_OPEN);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_MENU_KEEP_OPEN, '');\n } else {\n this.removeAttribute(ATTR_MENU_KEEP_OPEN);\n }\n }\n }, {\n key: 'noMenu',\n get: function get() {\n return this.hasAttribute(ATTR_NO_MENU);\n },\n set: function set(val) {\n if (val) {\n this.setAttribute(ATTR_NO_MENU, '');\n } else {\n this.removeAttribute(ATTR_NO_MENU);\n }\n }\n }, {\n key: 'homeUrl',\n get: function get() {\n return this.getAttribute(ATTR_HOME_URL) || DEFAULT_HOME_URL;\n },\n set: function set(val) {\n this.setAttribute(ATTR_HOME_URL, val);\n }\n }, {\n key: 'mobileMediaQuery',\n get: function get() {\n return '(max-width: ' + this.mobileMaxWidth + ')';\n }\n }, {\n key: 'maxWidthMediaQuery',\n get: function get() {\n return '(max-width: ' + this.maxWidth + ')';\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [ATTR_MOBILE_MAX_WIDTH, ATTR_MOBILE_VIEW, ATTR_MENU_OPEN, ATTR_HOME_URL, ATTR_FULL_WIDTH, ATTR_MAX_WIDTH];\n }\n }]);\n\n return BYUHeader;\n }(HTMLElement);\n\n window.customElements.define('byu-header', BYUHeader);\n window.BYUHeader = BYUHeader;\n\n /***/\n},\n/* 7 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var BYUMenu = function (_HTMLElement5) {\n _inherits(BYUMenu, _HTMLElement5);\n\n _createClass(BYUMenu, [{\n key: 'showMore',\n get: function get() {\n return isShowingMoreMenu(this);\n },\n set: function set(show) {\n var el = this.shadowRoot.querySelector('.byu-menu-more-menu');\n if (show && !isShowingMoreMenu(this)) enableHideClick(this);\n toggleClass(el, 'byu-menu-more-expanded', show);\n }\n }]);\n\n function BYUMenu() {\n _classCallCheck(this, BYUMenu);\n\n // always call super first\n var _this8 = _possibleConstructorReturn(this, (BYUMenu.__proto__ || Object.getPrototypeOf(BYUMenu)).call(this));\n\n _this8.attachShadow({ mode: 'open' });\n return _this8;\n }\n\n _createClass(BYUMenu, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this9 = this;\n\n var component = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, function () {\n updateMoreMenuState(_this9);\n addSlotListeners(_this9);\n\n // when the more button is clicked then show the more menu\n _this9.shadowRoot.querySelector('.byu-menu-more').addEventListener('click', function () {\n component.showMore = true;\n });\n });\n }\n }]);\n\n return BYUMenu;\n }(HTMLElement);\n\n function addSlotListeners(component) {\n component.shadowRoot.querySelector('slot').addEventListener('slotchange', function (e) {\n //Run on microtask timing to let polyfilled shadow DOM changes to propagate\n setTimeout(function () {\n return updateMoreMenuState(component);\n });\n });\n }\n\n function enableHideClick(component) {\n\n var fn = function fn() {\n document.removeEventListener('click', fn);\n component.showMore = false;\n };\n\n setTimeout(function () {\n document.addEventListener('click', fn);\n });\n }\n\n function hasClass(el, className) {\n var classes = el.className.split(/ +/);\n return classes.indexOf(className) !== -1;\n }\n\n function isShowingMoreMenu(component) {\n return hasClass(component.shadowRoot.querySelector('.byu-menu-more-menu'), 'byu-menu-more-expanded');\n }\n\n function toggleClass(el, className, value) {\n var classes = el.className.split(/ +/);\n var index = classes.indexOf(className);\n var exists = index !== -1;\n var setTo = arguments.length > 2 ? arguments[2] : !exists;\n if (setTo && !exists) {\n classes.push(className);\n } else if (!setTo && exists) {\n classes.splice(index, 1);\n }\n el.className = classes.join(' ');\n }\n\n function updateMoreMenuState(component) {\n var children = component.shadowRoot.querySelector('.byu-menu-items').assignedNodes();\n var moreChildren = component.shadowRoot.querySelector('.byu-menu-more-slot').assignedNodes();\n var filteredChildren = children.filter(function (node) {\n return node instanceof HTMLElement;\n });\n var filteredMoreChildren = moreChildren.filter(function (node) {\n return node instanceof HTMLElement;\n });\n var length = filteredChildren.length + filteredMoreChildren.length;\n var hasOverflow = length > 6;\n var nav = component.shadowRoot.querySelector('.outer-nav');\n\n if (nav) toggleClass(nav, 'byu-menu-more-visible', hasOverflow);\n\n if (hasOverflow) {\n for (var i = 5; i < filteredChildren.length; i++) {\n filteredChildren[i].setAttribute('slot', 'more');\n }\n } else if (length === 6) {\n filteredChildren[5].setAttribute('slot', '');\n }\n\n if (length < 4) {\n component.setAttribute('left-align', '');\n } else {\n component.removeAttribute('left-align');\n }\n }\n\n window.customElements.define('byu-menu', BYUMenu);\n window.BYUMenu = BYUMenu;\n\n /***/\n},\n/* 8 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n\n var _DEFAULT_ACTION_TARGE;\n\n var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n /**\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 **/\n\n var CLASS_SELECTED_INPUT = '__byu-search-selected-input';\n\n var ATTR_OLD_SEARCH_HANDLER = 'onsearch';\n var ATTR_SEARCH_HANDLER = 'onbyusearch';\n var ATTR_SEARCH_INPUT_SELECTOR = 'search-input-selector';\n var ATTR_ACTION = 'action';\n var ATTR_ACTION_TARGET = 'action-target';\n\n var ACTION_SUBMIT_FORM = 'submit-form';\n var ACTION_CLICK = 'click';\n var ACTION_NAVIGATE = 'navigate';\n\n var DEFAULT_ACTION_TARGET_SUBMIT_FORM = 'form';\n var DEFAULT_ACTION_TARGET_CLICK = 'button, input[type=\"submit\"], input[type=\"button\"]';\n\n var EVENT_TYPE = 'byu-search';\n\n var DEFAULT_ACTION_TARGET = (_DEFAULT_ACTION_TARGE = {}, _defineProperty(_DEFAULT_ACTION_TARGE, ACTION_SUBMIT_FORM, DEFAULT_ACTION_TARGET_SUBMIT_FORM), _defineProperty(_DEFAULT_ACTION_TARGE, ACTION_CLICK, DEFAULT_ACTION_TARGET_CLICK), _DEFAULT_ACTION_TARGE);\n\n var DEFAULT_SEARCH_INPUT_SELECTOR = 'input[type=\"search\"], input[type=\"text\"]';\n\n var ByuSearch = function (_HTMLElement6) {\n _inherits(ByuSearch, _HTMLElement6);\n\n function ByuSearch() {\n _classCallCheck(this, ByuSearch);\n\n // always call super first\n var _this10 = _possibleConstructorReturn(this, (ByuSearch.__proto__ || Object.getPrototypeOf(ByuSearch)).call(this));\n\n _this10.attachShadow({ mode: 'open' });\n return _this10;\n }\n\n _createClass(ByuSearch, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this11 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, function () {\n _this11._initialized = true;\n\n _this11._input = lookupAndConfigureInputElement(_this11, _this11.searchInputSelector);\n\n setupButtonSearchDispatcher(_this11);\n setupSearchListeners(_this11);\n\n setupSlotListener(_this11);\n });\n }\n }, {\n key: 'disconnectedCallback',\n value: function disconnectedCallback() {\n if (this._input) {\n teardownInputElement(this, this._input);\n }\n\n teardownSearchListeners(this);\n }\n }, {\n key: 'search',\n value: function search() {\n var el = this._input;\n if (!el) {\n throw new Error('Unable to perform search; no search element matching the selector \\'' + this.searchInputSelector + '\\' can be found!');\n }\n var value = el.value;\n if (!value) return;\n\n var event = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* createEvent */](EVENT_TYPE, { search: value });\n\n var cancelled = !this.dispatchEvent(event);\n if (cancelled) return;\n\n if (this.action) {\n runPredefinedAction(this, value);\n }\n }\n }, {\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldValue, newValue) {\n if (!this._initialized) return;\n switch (attr) {\n case ATTR_SEARCH_INPUT_SELECTOR:\n if (this._input) {\n teardownInputElement(this, this._input);\n }\n\n this._input = lookupAndConfigureInputElement(this, newValue);\n\n return;\n //All other attrs are lazily looked up, as needed.\n }\n }\n }, {\n key: 'onbyusearch',\n get: function get() {\n return this.getAttribute(ATTR_SEARCH_HANDLER);\n },\n set: function set(value) {\n this.setAttribute(ATTR_SEARCH_HANDLER, value);\n }\n }, {\n key: 'onsearch',\n get: function get() {\n return this.getAttribute(ATTR_OLD_SEARCH_HANDLER);\n },\n set: function set(value) {\n this.setAttribute(ATTR_OLD_SEARCH_HANDLER, value);\n }\n }, {\n key: 'searchInputSelector',\n set: function set(value) {\n this.setAttribute(ATTR_SEARCH_INPUT_SELECTOR, value);\n },\n get: function get() {\n return this.getAttribute(ATTR_SEARCH_INPUT_SELECTOR) || DEFAULT_SEARCH_INPUT_SELECTOR;\n }\n }, {\n key: 'action',\n set: function set(value) {\n this.setAttribute(ATTR_ACTION, value);\n },\n get: function get() {\n //Defaults to null\n return this.getAttribute(ATTR_ACTION);\n }\n }, {\n key: 'actionTarget',\n set: function set(value) {\n this.setAttribute(ATTR_ACTION_TARGET, value);\n },\n get: function get() {\n //Default depends on action target value\n return this.getAttribute(ATTR_ACTION_TARGET) || defaultActionTarget(this.action);\n }\n }, {\n key: '_searchSlot',\n get: function get() {\n return this.shadowRoot.querySelector('#search');\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n return [ATTR_SEARCH_INPUT_SELECTOR];\n }\n }]);\n\n return ByuSearch;\n }(HTMLElement);\n\n window.customElements.define('byu-search', ByuSearch);\n window.ByuSearch = ByuSearch;\n\n function setupSlotListener(search) {\n search._searchSlot.addEventListener('slotchange', function (e) {\n handleSlotChange(search, e);\n });\n }\n\n function handleSlotChange(search, event) {\n var oldInput = search._input;\n var newInput = lookupSearchInput(search);\n\n if (oldInput === newInput) return;\n\n search._input = newInput;\n\n if (oldInput) {\n teardownInputElement(search, oldInput);\n }\n if (newInput) {\n setupInputElement(search, newInput);\n } else {\n console.error('[byu-search] WARNING! Unable to find a search input element using the selector \\'' + search.searchInputSelector + '\\' on ', search);\n }\n }\n\n function lookupSearchInput(search, selector) {\n return __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, selector);\n }\n\n function lookupAndConfigureInputElement(search, selector) {\n var input = lookupSearchInput(search, selector);\n\n if (input) {\n setupInputElement(search, input);\n } else {\n console.error('[byu-search] WARNING! Unable to find a search input element using the selector \\'' + selector + '\\' on ', search);\n }\n return input;\n }\n\n function setupInputElement(search, input) {\n applyStyleHelpers(search, input);\n applyA11yHelpers(search, input);\n setupEnterKeySearchDispatcher(search, input);\n }\n\n function teardownInputElement(search, input) {\n removeStyleHelpers(search, input);\n removeA11yHelpers(search, input);\n teardownEnterKeySearchDispatcher(search, input);\n }\n\n function runPredefinedAction(search, value) {\n var action = search.action;\n\n switch (action) {\n case ACTION_SUBMIT_FORM:\n runSubmitFormAction(search, value);\n break;\n case ACTION_CLICK:\n runClickAction(search, value);\n break;\n case ACTION_NAVIGATE:\n runNavigateAction(search, value);\n break;\n default:\n throw new Error('Invalid value for ' + ATTR_ACTION + ': \\'' + action + '\\'');\n }\n }\n\n function runSubmitFormAction(search, value) {\n var target = search.actionTarget;\n\n var form = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\n\n if (!form) {\n throw new Error('Unable to find target for \\'submit-form\\' action using selector \\'' + target + '\\'');\n }\n\n if (!(form instanceof HTMLFormElement)) {\n throw new Error('Element found by selector \\'' + target + '\\' must be a , but was \\'' + form.localName + '\\'');\n }\n\n form.submit();\n }\n\n function runClickAction(search, value) {\n var target = search.actionTarget;\n\n var button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\n\n if (!button) {\n throw new Error('Unable to find target for \\'click\\' action using selector \\'' + target + '\\'');\n }\n\n button.click();\n }\n\n function runNavigateAction(search, value) {\n var target = search.actionTarget;\n\n if (!target) {\n throw new Error('When using action=\"navigate\", you must specify an action-target');\n }\n\n if (target.indexOf('${search}')) {\n console.warn('[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain ${search} will not include the search terms in the URL.', search);\n }\n\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\n }\n\n function applyStyleHelpers(search, input) {\n input.classList.add(CLASS_SELECTED_INPUT);\n }\n\n function removeStyleHelpers(search, input) {\n input.classList.remove(CLASS_SELECTED_INPUT);\n }\n\n // For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\n function applyA11yHelpers(search, input) {\n if (input.title && input.placeholder) return;\n\n var helped = [];\n\n if (!input.title && !input.placeholder) {\n input.title = input.placeholder = 'Search';\n helped.push('title', 'placeholder');\n } else if (input.title) {\n input.placeholder = input.title;\n helped.push('placeholder');\n } else {\n input.title = input.placeholder;\n helped.push('title');\n }\n\n input.__byu_search_a11yHelpersApplied = helped;\n }\n\n function removeA11yHelpers(search, input) {\n var helpers = input.__byu_search_a11yHelpersApplied;\n if (!helpers) return;\n\n if (helpers.includes('title')) {\n input.title = null;\n }\n if (helpers.includes('placeholder')) {\n input.placeholder = null;\n }\n delete input.__byu_search_a11yHelpersApplied;\n }\n\n function setupButtonSearchDispatcher(search) {\n search.shadowRoot.querySelector('#search-button').addEventListener('click', function () {\n search.search();\n });\n }\n\n function setupEnterKeySearchDispatcher(search, input) {\n var keypress = input.__byu_search_keyObserver = function (e) {\n if (e.keyCode === 13) {\n search.search();\n }\n };\n input.addEventListener('keypress', keypress, false);\n }\n\n function teardownEnterKeySearchDispatcher(search, input) {\n var keypress = input.__byu_search_keyObserver;\n if (keypress) input.removeEventListener('keypress', keypress, false);\n }\n\n function setupSearchListeners(search) {\n var handler = search.__onbyusearchHandler = function (event) {\n var name = search.onbyusearch;\n if (!name) return;\n var handler = window[name];\n if (!handler) {\n throw new Error('Unable to find a global function named \\'' + name + '\\'');\n }\n handler.call(search, event);\n };\n\n search.addEventListener(EVENT_TYPE, handler, false);\n\n var legacyHandler = search.__onsearchLegacyHandler = function (event) {\n var name = search.onsearch;\n if (!name) return;\n\n var handler = window[name];\n if (!handler) {\n throw new Error('Unable to find a global function named \\'' + name + '\\'');\n }\n handler.call(search, event.detail.search, event);\n };\n\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\n }\n\n function teardownSearchListeners(search) {\n if (search.__onbyusearchHandler) {\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\n }\n if (search.__onsearchLegacyHandler) {\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\n }\n }\n\n function defaultActionTarget(action) {\n if (!action) return null;\n return DEFAULT_ACTION_TARGET[action];\n }\n\n /***/\n},\n/* 9 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\n var SOCIAL_NAMES = {\n 'facebook': 'Facebook',\n 'twitter': 'Twitter',\n 'instagram': 'Instagram',\n 'youtube': 'YouTube',\n 'pinterest': 'Pinterest',\n 'google-plus': 'Google+',\n 'googleplus': 'Google+',\n 'gplus': 'Google+',\n 'linkedin': 'LinkedIn',\n 'rss': 'RSS',\n 'snapchat': 'Snapchat',\n 'podcast': 'Podcast'\n };\n\n var SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\n\n var BYUSocialMediaLinks = function (_HTMLElement7) {\n _inherits(BYUSocialMediaLinks, _HTMLElement7);\n\n function BYUSocialMediaLinks() {\n _classCallCheck(this, BYUSocialMediaLinks);\n\n var _this12 = _possibleConstructorReturn(this, (BYUSocialMediaLinks.__proto__ || Object.getPrototypeOf(BYUSocialMediaLinks)).call(this));\n\n _this12.attachShadow({ mode: 'open' });\n return _this12;\n }\n\n _createClass(BYUSocialMediaLinks, [{\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this13 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, function () {\n var main = _this13.shadowRoot.querySelector('#social-main');\n applyTitleToChildren(main);\n\n SOCIAL_IDS.forEach(function (id) {\n var slot = _this13.shadowRoot.querySelector('#social-deprecated-' + id);\n if (!slot) return;\n\n applyTitleToChildren(slot);\n //We're still supporting the old way, but it's deprecated and people should move on.\n if (slot.assignedNodes().length > 0) {\n console.log('[WARNING] byu-social-media-links: deprecated usage of slot=\"' + id + '\". Replace with class=\"' + id + '\":', _this13);\n }\n });\n });\n }\n }]);\n\n return BYUSocialMediaLinks;\n }(HTMLElement);\n\n window.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\n window.BYUSocialMediaLinks = BYUSocialMediaLinks;\n\n function applyTitleToChildren(slotElement) {\n var kids = slotElement.assignedNodes();\n kids.filter(function (k) {\n return k instanceof HTMLElement;\n })\n //Only grab the ones that don't already have a title\n .filter(function (k) {\n return !k.title;\n }).forEach(function (kid) {\n var kind = detectSocialKind(kid);\n if (!kind) {\n return;\n }\n //The spaces are a hack to avoid triggering adblockplus.\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\n });\n }\n\n function detectSocialKind(element) {\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\n for (var i = 0; i < SOCIAL_IDS.length; i++) {\n var id = SOCIAL_IDS[i];\n if (element.classList.contains(id)) {\n return id;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 10 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n /**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n var ByuUserInfo = function (_HTMLElement8) {\n _inherits(ByuUserInfo, _HTMLElement8);\n\n function ByuUserInfo() {\n _classCallCheck(this, ByuUserInfo);\n\n var _this14 = _possibleConstructorReturn(this, (ByuUserInfo.__proto__ || Object.getPrototypeOf(ByuUserInfo)).call(this));\n\n var shadowRoot = _this14.attachShadow({ mode: 'open' });\n\n return _this14;\n }\n\n _createClass(ByuUserInfo, [{\n key: 'attributeChangedCallback',\n value: function attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n }, {\n key: 'connectedCallback',\n value: function connectedCallback() {\n var _this15 = this;\n\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, function () {\n _this15._addSlotListeners();\n _this15._addAriaAttributes();\n });\n }\n }, {\n key: '_addSlotListeners',\n value: function _addSlotListeners() {\n var _this16 = this;\n\n this._setHasUser();\n var userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', function (e) {\n _this16._setHasUser();\n });\n }\n }, {\n key: '_setHasUser',\n value: function _setHasUser() {\n var userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n } else {\n this.removeAttribute('has-user');\n }\n }\n }, {\n key: '_addAriaAttributes',\n value: function _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n }], [{\n key: 'observedAttributes',\n get: function get() {\n // return ['login-url'];\n }\n }]);\n\n return ByuUserInfo;\n }(HTMLElement);\n\n window.customElements.define('byu-user-info', ByuUserInfo);\n window.ByuUserInfo = ByuUserInfo;\n\n /***/\n},\n/* 11 */\n/***/function (module, exports) {\n\n module.exports = {\n \"name\": \"byuweb-components\",\n \"version\": \"1.0.3\",\n \"description\": \"Components to be used for byu web pages and applications.\",\n \"main\": \"\",\n \"scripts\": {\n \"build\": \"gulp build\",\n \"serve\": \"gulp watch\",\n \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n },\n \"private\": true,\n \"author\": \"\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"byu-web-component-utils\": \"^0.4.2\",\n \"deep-equal\": \"^1.0.1\",\n \"sass-loader\": \"^6.0.6\"\n },\n \"devDependencies\": {\n \"browser-sync\": \"^2.18.6\",\n \"byu-web-component-build\": \"^0.2.3\",\n \"git-revision-webpack-plugin\": \"^2.5.1\",\n \"gulp\": \"^3.9.1\",\n \"gulp-rename\": \"^1.2.2\"\n }\n };\n\n /***/\n},\n/* 12 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; /**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n (function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if ((typeof exports === 'undefined' ? 'undefined' : _typeof(exports)) === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n })(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var tcon = {},\n // static class\n _transformClass = 'tcon-transform',\n\n\n // const\n DEFAULT_EVENTS = {\n transform: ['click'],\n revert: ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function getElementList(elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function getEventList(events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function setListeners(elements, events, remove) {\n var method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = events && events[prop] ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while (currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while (currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function handleEvent(event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function (element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function (element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function (element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n });\n\n /***/\n},\n/* 13 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n /**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n /*\n * Header Bits\n */\n\n /*\n * Footer Bits\n */\n\n console.log('--------------- Starting byu-theme-components ' + __WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"] + ' ---------------');\n\n /***/\n},\n/* 14 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = createEvent;\n /*\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\n function createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, { detail: detail, cancelable: true, bubbles: true });\n }\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n }\n\n /***/\n},\n/* 15 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = querySelectorSlot;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n /*\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\n function querySelectorSlot(slot, selector) {\n var roots = slot.assignedNodes({ flatten: true }).filter(function (n) {\n return n.nodeType === Node.ELEMENT_NODE;\n });\n\n for (var i = 0, len = roots.length; i < len; i++) {\n var each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n var child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n }\n\n /***/\n},\n/* 16 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = applyTemplate;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n /*\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\n var TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\n function applyTemplate(element, elementName, template, callback) {\n var sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n var elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n }\n\n function applyTemplateShady(element, elementName, template, callback, sum) {\n var templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n var templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n var imported = document.importNode(templateElement.content, true);\n var shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function () {\n runAfterStamping(element, callback);\n });\n }\n\n function applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n }\n\n function runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n }\n\n /***/\n},\n/* 17 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 18 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 19 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 20 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 21 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 22 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 23 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 24 */\n/***/function (module, exports, __webpack_require__) {\n\n exports = module.exports = __webpack_require__(1)();\n // imports\n\n\n // module\n exports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n // exports\n\n\n /***/\n},\n/* 25 */\n/***/function (module, exports, __webpack_require__) {\n\n var pSlice = Array.prototype.slice;\n var objectKeys = __webpack_require__(27);\n var isArguments = __webpack_require__(26);\n\n var deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || (typeof actual === 'undefined' ? 'undefined' : _typeof(actual)) != 'object' && (typeof expected === 'undefined' ? 'undefined' : _typeof(expected)) != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n };\n\n function isUndefinedOrNull(value) {\n return value === null || value === undefined;\n }\n\n function isBuffer(x) {\n if (!x || (typeof x === 'undefined' ? 'undefined' : _typeof(x)) !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n }\n\n function objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {\n //happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length) return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i]) return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return (typeof a === 'undefined' ? 'undefined' : _typeof(a)) === (typeof b === 'undefined' ? 'undefined' : _typeof(b));\n }\n\n /***/\n},\n/* 26 */\n/***/function (module, exports) {\n\n var supportsArgumentsClass = function () {\n return Object.prototype.toString.call(arguments);\n }() == '[object Arguments]';\n\n exports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\n exports.supported = supported;\n function supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n };\n\n exports.unsupported = unsupported;\n function unsupported(object) {\n return object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) == 'object' && typeof object.length == 'number' && Object.prototype.hasOwnProperty.call(object, 'callee') && !Object.prototype.propertyIsEnumerable.call(object, 'callee') || false;\n };\n\n /***/\n},\n/* 27 */\n/***/function (module, exports) {\n\n exports = module.exports = typeof Object.keys === 'function' ? Object.keys : shim;\n\n exports.shim = shim;\n function shim(obj) {\n var keys = [];\n for (var key in obj) {\n keys.push(key);\n }return keys;\n }\n\n /***/\n},\n/* 28 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n\n escapeFn = escapeFn || function (markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n },\n _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [],\n __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n };\n\n /***/\n},\n/* 29 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n function pad(hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n }\n\n function fold(hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = (hash << 5) - hash + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n }\n\n function foldObject(hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey(hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n }\n\n function foldValue(input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value === 'undefined' ? 'undefined' : _typeof(value));\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n }\n\n function toString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function sum(o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n }\n\n module.exports = sum;\n\n /***/\n},\n/* 30 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 31 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"

\";\n\n /***/\n},\n/* 32 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n /***/\n},\n/* 33 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \" \";\n\n /***/\n},\n/* 34 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 35 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
\";\n\n /***/\n},\n/* 36 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = \"
Sign In
Sign Out
\";\n\n /***/\n}]\n/******/);\n}());\n\n\n","/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} diff --git a/dist/components.js b/dist/components.js index 6470cfa5..35af8295 100644 --- a/dist/components.js +++ b/dist/components.js @@ -1338,7 +1338,7 @@ window.ByuUserInfo = ByuUserInfo; module.exports = { "name": "byuweb-components", - "version": "1.0.3", + "version": "1.1.0", "description": "Components to be used for byu web pages and applications.", "main": "", "scripts": { diff --git a/dist/components.js.map b/dist/components.js.map index 51db461b..3597a131 100644 --- a/dist/components.js.map +++ b/dist/components.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 210b6ca1ccdd213ee425","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;AACA;AACA;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;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACzBA;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;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;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AG;AACH;AACA;AACA;;AAEA;AACA;AACA;;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,okB;;;;;;ACAA,kY;;;;;;ACAA,mtB;;;;;;ACAA,qjB","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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 210b6ca1ccdd213ee425","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;AACA;AACA;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;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;ACzBA;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;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;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AG;AACH;AACA;AACA;;AAEA;AACA;AACA;;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,okB;;;;;;ACAA,kY;;;;;;ACAA,mtB;;;;;;ACAA,qjB","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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"],"sourceRoot":""} diff --git a/dist/components.min.js.map b/dist/components.min.js.map index ec80da42..b98bb2bd 100644 --- a/dist/components.min.js.map +++ b/dist/components.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","__WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__","__WEBPACK_IMPORTED_MODULE_3__lib_createEvent__","list","toString","length","item","result","push","join","id","alreadyImportedModules","mediaQuery","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default","a","window","customElements","define","BYUFooterActionButton","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default","BYUFooterColumn","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__","component","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default","shadowRoot","querySelector","currentYear","innerHTML","Date","getFullYear","MutationObserver","updateWithHeaderAttributes","header","observer","observe","attributes","hasAttribute","ATTR_FULL_WIDTH","setAttribute","removeAttribute","ATTR_MAX_WIDTH","getAttribute","w","needsWidthSetting","style","maxWidth","BYUFooter","__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__","__WEBPACK_IMPORTED_MODULE_1_deep_equal__","__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__","_render","mobile","inMobileView","state","_renderState","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","_addSlotListeners","_notifyChildrenOfMobileState","_addButtonListeners","_checkIfMenuIsNeeded","_applyHomeUrl","_applyMaxWidth","assignedNodes","noMenu","hasUserInfo","hasMenu","hasActions","menuOpen","menuButton","addEventListener","_toggleMenu","_findAllSlots","forEach","each","_findAllDistributedChildren","kids","ATTR_MOBILE_VIEW","classList","add","remove","slots","arr","map","filter","reduce","agg","concat","mobileMaxWidth","_applyMobileWidth","setTimeout","menu","console","log","ATTR_MENU_OPEN","ATTR_MENU_KEEP_OPEN","observedAttributes","ATTR_MOBILE_MAX_WIDTH","ATTR_HOME_URL","attributeChangedCallback","attr","_applyMenuOpen","maxHeight","scrollHeight","aTag","homeUrl","val","DEFAULT_MAX_WIDTH","keepMenuOpen","ATTR_NO_MENU","mobileMediaQuery","_mobileQuery","q","media","desiredQuery","removeListener","_mobileQueryListener","matchMedia","_handleMobileChange","bind","addListener","mql","maxWidthMediaQuery","_maxWidthQuery","_maxWidthQueryListener","_handleMaxWidthChange","BYUHeader","updateMoreMenuState","removeEventListener","fn","showMore","className","split","hasClass","classes","arguments","exists","setTo","splice","index","children","node","moreChildren","filteredChildren","filteredMoreChildren","nav","toggleClass","hasOverflow","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__","isShowingMoreMenu","show","enableHideClick","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default","addSlotListeners","BYUMenu","search","_searchSlot","handleSlotChange","e","_input","lookupSearchInput","oldInput","newInput","teardownInputElement","setupInputElement","error","searchInputSelector","input","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","action","ACTION_SUBMIT_FORM","runSubmitFormAction","ACTION_CLICK","runClickAction","ACTION_NAVIGATE","runNavigateAction","Error","ATTR_ACTION","actionTarget","target","form","HTMLFormElement","localName","submit","button","click","warn","location","assign","replace","encodeURIComponent","CLASS_SELECTED_INPUT","title","placeholder","helped","__byu_search_a11yHelpersApplied","helpers","includes","__byu_search_keyObserver","keyCode","keypress","__onbyusearchHandler","onbyusearch","handler","event","EVENT_TYPE","__onsearchLegacyHandler","onsearch","detail","legacyHandler","DEFAULT_ACTION_TARGET","__WEBPACK_IMPORTED_MODULE_0__byu_search_html__","__WEBPACK_IMPORTED_MODULE_0__byu_search_html___default","_initialized","lookupAndConfigureInputElement","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","disconnectedCallback","teardownSearchListeners","dispatchEvent","cancelled","runPredefinedAction","ATTR_SEARCH_INPUT_SELECTOR","newValue","ATTR_SEARCH_HANDLER","ATTR_OLD_SEARCH_HANDLER","ATTR_ACTION_TARGET","defaultActionTarget","ByuSearch","slotElement","k","detectSocialKind","kid","kind","SOCIAL_NAMES","element","SOCIAL_IDS","contains","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__","getOwnPropertyNames","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default","applyTitleToChildren","main","slot","BYUSocialMediaLinks","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default","_addAriaAttributes","_setHasUser","userSlot","ByuUserInfo","factory","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","transform","revert","elements","Array","slice","events","toLowerCase","getElementList","elementList","DEFAULT_EVENTS","eventLists","prop","getEventList","occasion","currentElement","method","currentEvent","handleEvent","tcon","toggle","currentTarget","setListeners","_transformClass","__WEBPACK_IMPORTED_MODULE_8__package_json__","CustomEvent","cancelable","bubbles","createEvent","evt","initCustomEvent","flatten","nodeType","Node","ELEMENT_NODE","roots","len","__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__","child","elementName","sum","head","templateId","templateElement","createElement","template","appendChild","ShadyCSS","prepareTemplate","styleElement","applyStyle","importNode","content","shadow","firstChild","removeChild","imported","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","x","copy","isUndefinedOrNull","b","isArguments","pSlice","deepEqual","opts","isBuffer","objectKeys","ka","kb","sort","key","expected","getTime","objEquiv","strict","propertyIsEnumerable","supportsArgumentsClass","supported","unsupported","obj","keys","shim","_ENCODE_HTML_RULES","escapeFn","markup","_MATCH_HTML","encode_char","__output","__append","locals","hash","text","charCodeAt","chr","foldValue","seen","fold","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} \ No newline at end of file +{"version":3,"sources":["components.js","webpack:/webpack/bootstrap 210b6ca1ccdd213ee425","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":["installedModules","moduleId","exports","i","l","modules","call","module","__webpack_require__","m","c","value","d","o","name","Object","defineProperty","configurable","enumerable","get","getter","n","__esModule","prototype","hasOwnProperty","object","property","p","s","__webpack_exports__","__WEBPACK_IMPORTED_MODULE_0__lib_templating__","__WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__","__WEBPACK_IMPORTED_MODULE_3__lib_createEvent__","list","toString","length","item","result","push","join","id","alreadyImportedModules","mediaQuery","Element","proto","matches","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","document","ownerDocument","querySelectorAll","indexOf","actual","el","selector","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__","HTMLElement","constructor","attachShadow","mode","connectedCallback","__WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__","__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default","a","window","customElements","define","BYUFooterActionButton","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__","__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default","BYUFooterColumn","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__","component","__WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default","shadowRoot","querySelector","currentYear","innerHTML","Date","getFullYear","MutationObserver","updateWithHeaderAttributes","header","observer","observe","attributes","hasAttribute","ATTR_FULL_WIDTH","setAttribute","removeAttribute","ATTR_MAX_WIDTH","getAttribute","w","needsWidthSetting","style","maxWidth","BYUFooter","__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__","__WEBPACK_IMPORTED_MODULE_1_deep_equal__","__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__","_render","mobile","inMobileView","state","_renderState","__WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__","_addSlotListeners","_notifyChildrenOfMobileState","_addButtonListeners","_checkIfMenuIsNeeded","_applyHomeUrl","_applyMaxWidth","assignedNodes","noMenu","hasUserInfo","hasMenu","hasActions","menuOpen","menuButton","addEventListener","_toggleMenu","_findAllSlots","forEach","each","_findAllDistributedChildren","kids","ATTR_MOBILE_VIEW","classList","add","remove","slots","arr","map","filter","reduce","agg","concat","mobileMaxWidth","_applyMobileWidth","setTimeout","menu","console","log","ATTR_MENU_OPEN","ATTR_MENU_KEEP_OPEN","observedAttributes","ATTR_MOBILE_MAX_WIDTH","ATTR_HOME_URL","attributeChangedCallback","attr","_applyMenuOpen","maxHeight","scrollHeight","aTag","homeUrl","val","DEFAULT_MAX_WIDTH","keepMenuOpen","ATTR_NO_MENU","mobileMediaQuery","_mobileQuery","q","media","desiredQuery","removeListener","_mobileQueryListener","matchMedia","_handleMobileChange","bind","addListener","mql","maxWidthMediaQuery","_maxWidthQuery","_maxWidthQueryListener","_handleMaxWidthChange","BYUHeader","updateMoreMenuState","removeEventListener","fn","showMore","className","split","hasClass","classes","arguments","exists","setTo","splice","index","children","node","moreChildren","filteredChildren","filteredMoreChildren","nav","toggleClass","hasOverflow","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__","isShowingMoreMenu","show","enableHideClick","__WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default","addSlotListeners","BYUMenu","search","_searchSlot","handleSlotChange","e","_input","lookupSearchInput","oldInput","newInput","teardownInputElement","setupInputElement","error","searchInputSelector","input","applyStyleHelpers","applyA11yHelpers","setupEnterKeySearchDispatcher","removeStyleHelpers","removeA11yHelpers","teardownEnterKeySearchDispatcher","action","ACTION_SUBMIT_FORM","runSubmitFormAction","ACTION_CLICK","runClickAction","ACTION_NAVIGATE","runNavigateAction","Error","ATTR_ACTION","actionTarget","target","form","HTMLFormElement","localName","submit","button","click","warn","location","assign","replace","encodeURIComponent","CLASS_SELECTED_INPUT","title","placeholder","helped","__byu_search_a11yHelpersApplied","helpers","includes","__byu_search_keyObserver","keyCode","keypress","__onbyusearchHandler","onbyusearch","handler","event","EVENT_TYPE","__onsearchLegacyHandler","onsearch","detail","legacyHandler","DEFAULT_ACTION_TARGET","__WEBPACK_IMPORTED_MODULE_0__byu_search_html__","__WEBPACK_IMPORTED_MODULE_0__byu_search_html___default","_initialized","lookupAndConfigureInputElement","setupButtonSearchDispatcher","setupSearchListeners","setupSlotListener","disconnectedCallback","teardownSearchListeners","dispatchEvent","cancelled","runPredefinedAction","ATTR_SEARCH_INPUT_SELECTOR","newValue","ATTR_SEARCH_HANDLER","ATTR_OLD_SEARCH_HANDLER","ATTR_ACTION_TARGET","defaultActionTarget","ByuSearch","slotElement","k","detectSocialKind","kid","kind","SOCIAL_NAMES","element","SOCIAL_IDS","contains","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__","getOwnPropertyNames","__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default","applyTitleToChildren","main","slot","BYUSocialMediaLinks","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__","__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default","_addAriaAttributes","_setHasUser","userSlot","ByuUserInfo","factory","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","transform","revert","elements","Array","slice","events","toLowerCase","getElementList","elementList","DEFAULT_EVENTS","eventLists","prop","getEventList","occasion","currentElement","method","currentEvent","handleEvent","tcon","toggle","currentTarget","setListeners","_transformClass","__WEBPACK_IMPORTED_MODULE_8__package_json__","CustomEvent","cancelable","bubbles","createEvent","evt","initCustomEvent","flatten","nodeType","Node","ELEMENT_NODE","roots","len","__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__","child","elementName","sum","head","templateId","templateElement","createElement","template","appendChild","ShadyCSS","prepareTemplate","styleElement","applyStyle","importNode","content","shadow","firstChild","removeChild","imported","runAfterStamping","callback","TEMPLATE_RENDERED_CLASS","__WEBPACK_IMPORTED_MODULE_0_hash_sum___default","__byu_webCommunity_components","elSettings","templateHash","nativeShadow","applyTemplateShady","applyTemplateNative","__WEBPACK_IMPORTED_MODULE_0_hash_sum__","x","copy","isUndefinedOrNull","b","isArguments","pSlice","deepEqual","opts","isBuffer","objectKeys","ka","kb","sort","key","expected","getTime","objEquiv","strict","propertyIsEnumerable","supportsArgumentsClass","supported","unsupported","obj","keys","shim","_ENCODE_HTML_RULES","escapeFn","markup","_MATCH_HTML","encode_char","__output","__append","locals","hash","text","charCodeAt","chr","foldValue","seen","fold","foldObject","pad"],"mappings":"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","file":"components.min.js","sourcesContent":["/******/ (function(modules) { // webpackBootstrap\n/******/ \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/******/ \t\t}\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/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__lib_templating__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__lib_matchesSelector__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__ = __webpack_require__(14);\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return __WEBPACK_IMPORTED_MODULE_0__lib_templating__[\"a\"]; });\n/* unused harmony reexport matchesSelector */\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return __WEBPACK_IMPORTED_MODULE_2__lib_querySelectorSlot__[\"a\"]; });\n/* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return __WEBPACK_IMPORTED_MODULE_3__lib_createEvent__[\"a\"]; });\n/**\n * Created by ThatJoeMoore on 2/14/17\n */\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n/*\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/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = matchesSelector;\n/*\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\n\nfunction 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/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-action-button', __WEBPACK_IMPORTED_MODULE_0__byu_footer_action_button_html___default.a);\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/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-footer-column', __WEBPACK_IMPORTED_MODULE_0__byu_footer_column_html___default.a);\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-footer-column', BYUFooterColumn);\r\nwindow.BYUFooterColumn = BYUFooterColumn;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html__ = __webpack_require__(32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_footer_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](component, 'byu-footer', __WEBPACK_IMPORTED_MODULE_0__byu_footer_html___default.a, () => {\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/* 6 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__ = __webpack_require__(28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_deep_equal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_deep_equal__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__icons_transformicons___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__);\n\r\n\r\n\r\n\r\n\r\n\r\n\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 (!__WEBPACK_IMPORTED_MODULE_1_deep_equal__(state, this._renderState)) {\r\n __WEBPACK_IMPORTED_MODULE_2_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-header', __WEBPACK_IMPORTED_MODULE_0__byu_header_ejs_html__(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 __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"transform\"])(this.shadowRoot.querySelector('.mobile-menu-button'));\r\n } else {\r\n menu.style.maxHeight = null;\r\n __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__icons_transformicons__[\"revert\"])(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/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_menu_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-menu', __WEBPACK_IMPORTED_MODULE_0__byu_menu_html___default.a, () => {\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/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html__ = __webpack_require__(34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_search_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\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\r\n\r\n\r\n\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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-search', __WEBPACK_IMPORTED_MODULE_0__byu_search_html___default.a, () => {\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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"b\" /* 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* 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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"c\" /* querySelectorSlot */](search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n\r\n\r\n\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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 __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-social-media-links', __WEBPACK_IMPORTED_MODULE_0__byu_social_media_links_html___default.a, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__byu_user_info_html__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__ = __webpack_require__(0);\n/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\n\n\n\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n __WEBPACK_IMPORTED_MODULE_1_byu_web_component_utils__[\"a\" /* applyTemplate */](this, 'byu-user-info', __WEBPACK_IMPORTED_MODULE_0__byu_user_info_html___default.a, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\n\n(function (root, factory) {\n if (true) {\n // AMD module\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__byu_header_byu_header_js__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__byu_menu_byu_menu_js__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__byu_search_byu_search_js__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__byu_user_info_byu_user_info_js__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__byu_footer_byu_footer_js__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__byu_footer_column_byu_footer_column_js__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__byu_footer_action_button_byu_footer_action_button_js__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__byu_social_media_links_byu_social_media_links_js__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__package_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__package_json__);\n/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\n\n/*\n * Header Bits\n */\n\n\n\n\n\n/*\n * Footer Bits\n */\n\n\n\n\n\n\n\n\nconsole.log(`--------------- Starting byu-theme-components ${__WEBPACK_IMPORTED_MODULE_8__package_json__[\"version\"]} ---------------`);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = createEvent;\n/*\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\n\nfunction createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = querySelectorSlot;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__ = __webpack_require__(2);\n/*\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\n\n\n\nfunction querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__matchesSelector_js__[\"a\" /* default */])(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = applyTemplate;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum__ = __webpack_require__(29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_hash_sum___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_hash_sum__);\n/*\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\n\n\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nfunction applyTemplate(element, elementName, template, callback) {\n let sum = __WEBPACK_IMPORTED_MODULE_0_hash_sum___default()(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports = module.exports = __webpack_require__(1)();\n// imports\n\n\n// module\nexports.push([module.i, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(27);\nvar isArguments = __webpack_require__(26);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"

\";\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
\";\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = \"
Sign In
Sign Out
\";\n\n/***/ })\n/******/ ]);\n"," \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 \t\t}\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 210b6ca1ccdd213ee425","/**\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 , but was '${form.localName}'`);\r\n }\r\n\r\n form.submit();\r\n}\r\n\r\nfunction runClickAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n let button = util.querySelectorSlot(search._searchSlot, target);\r\n\r\n if (!button) {\r\n throw new Error(`Unable to find target for 'click' action using selector '${target}'`);\r\n }\r\n\r\n button.click();\r\n}\r\n\r\nfunction runNavigateAction(search, value) {\r\n let target = search.actionTarget;\r\n\r\n if (!target) {\r\n throw new Error('When using action=\"navigate\", you must specify an action-target');\r\n }\r\n\r\n if (target.indexOf('${search}')) {\r\n console.warn(`[byu-search] WARNING: Using action=\"navigate\" with a target that does not contain \\${search} will not include the search terms in the URL.`, search);\r\n }\r\n\r\n window.location.assign(target.replace('${search}', window.encodeURIComponent(value)));\r\n}\r\n\r\nfunction applyStyleHelpers(search, input) {\r\n input.classList.add(CLASS_SELECTED_INPUT);\r\n}\r\n\r\nfunction removeStyleHelpers(search, input) {\r\n input.classList.remove(CLASS_SELECTED_INPUT);\r\n}\r\n\r\n// For Accessibility, it's good for us to have a title and placeholder set. So, if there isn't one, we'll set it.\r\nfunction applyA11yHelpers(search, input) {\r\n if (input.title && input.placeholder) return;\r\n\r\n let helped = [];\r\n\r\n if (!input.title && !input.placeholder) {\r\n input.title = input.placeholder = 'Search';\r\n helped.push('title', 'placeholder');\r\n } else if (input.title) {\r\n input.placeholder = input.title;\r\n helped.push('placeholder');\r\n } else {\r\n input.title = input.placeholder;\r\n helped.push('title');\r\n }\r\n\r\n input.__byu_search_a11yHelpersApplied = helped;\r\n}\r\n\r\nfunction removeA11yHelpers(search, input) {\r\n let helpers = input.__byu_search_a11yHelpersApplied;\r\n if (!helpers) return;\r\n\r\n if (helpers.includes('title')) {\r\n input.title = null;\r\n }\r\n if (helpers.includes('placeholder')) {\r\n input.placeholder = null;\r\n }\r\n delete input.__byu_search_a11yHelpersApplied;\r\n}\r\n\r\nfunction setupButtonSearchDispatcher(search) {\r\n search.shadowRoot.querySelector('#search-button')\r\n .addEventListener('click', function () {\r\n search.search();\r\n });\r\n}\r\n\r\nfunction setupEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver = function (e) {\r\n if (e.keyCode === 13) {\r\n search.search();\r\n }\r\n };\r\n input.addEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction teardownEnterKeySearchDispatcher(search, input) {\r\n let keypress = input.__byu_search_keyObserver;\r\n if (keypress) input.removeEventListener('keypress', keypress, false);\r\n}\r\n\r\nfunction setupSearchListeners(search) {\r\n let handler = search.__onbyusearchHandler = function (event) {\r\n let name = search.onbyusearch;\r\n if (!name) return;\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, handler, false);\r\n\r\n let legacyHandler = search.__onsearchLegacyHandler = function (event) {\r\n let name = search.onsearch;\r\n if (!name) return;\r\n\r\n let handler = window[name];\r\n if (!handler) {\r\n throw new Error(`Unable to find a global function named '${name}'`);\r\n }\r\n handler.call(search, event.detail.search, event);\r\n };\r\n\r\n search.addEventListener(EVENT_TYPE, legacyHandler, false);\r\n}\r\n\r\nfunction teardownSearchListeners(search) {\r\n if (search.__onbyusearchHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onbyusearchHandler, false);\r\n }\r\n if (search.__onsearchLegacyHandler) {\r\n search.removeEventListener(EVENT_TYPE, search.__onsearchLegacyHandler, false);\r\n }\r\n}\r\n\r\nfunction defaultActionTarget(action) {\r\n if (!action) return null;\r\n return DEFAULT_ACTION_TARGET[action];\r\n}\r\n\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.js\n// module id = 8\n// module chunks = 0","'use strict';\r\nimport template from \"./byu-social-media-links.html\";\r\nimport * as util from \"byu-web-component-utils\";\r\n\r\nconst SOCIAL_NAMES = {\r\n 'facebook': 'Facebook',\r\n 'twitter': 'Twitter',\r\n 'instagram': 'Instagram',\r\n 'youtube': 'YouTube',\r\n 'pinterest': 'Pinterest',\r\n 'google-plus': 'Google+',\r\n 'googleplus': 'Google+',\r\n 'gplus': 'Google+',\r\n 'linkedin': 'LinkedIn',\r\n 'rss': 'RSS',\r\n 'snapchat': 'Snapchat',\r\n 'podcast': 'Podcast'\r\n};\r\n\r\nconst SOCIAL_IDS = Object.getOwnPropertyNames(SOCIAL_NAMES);\r\n\r\nclass BYUSocialMediaLinks 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-social-media-links', template, () => {\r\n let main = this.shadowRoot.querySelector('#social-main');\r\n applyTitleToChildren(main);\r\n\r\n SOCIAL_IDS.forEach(id => {\r\n const slot = this.shadowRoot.querySelector('#social-deprecated-' + id);\r\n if (!slot) return;\r\n\r\n applyTitleToChildren(slot);\r\n //We're still supporting the old way, but it's deprecated and people should move on.\r\n if (slot.assignedNodes().length > 0) {\r\n console.log(`[WARNING] byu-social-media-links: deprecated usage of slot=\"${id}\". Replace with class=\"${id}\":`, this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nwindow.customElements.define('byu-social-media-links', BYUSocialMediaLinks);\r\nwindow.BYUSocialMediaLinks = BYUSocialMediaLinks;\r\n\r\nfunction applyTitleToChildren(slotElement) {\r\n let kids = slotElement.assignedNodes();\r\n kids.filter(k => k instanceof HTMLElement)\r\n //Only grab the ones that don't already have a title\r\n .filter(k => !k.title)\r\n .forEach(kid => {\r\n let kind = detectSocialKind(kid);\r\n if (!kind) {\r\n return;\r\n }\r\n //The spaces are a hack to avoid triggering adblockplus.\r\n kid.title = ' ' + SOCIAL_NAMES[kind] + ' ';\r\n });\r\n}\r\n\r\nfunction detectSocialKind(element) {\r\n if (element.hasAttribute('slot')) return element.getAttribute('slot');\r\n for (let i = 0; i < SOCIAL_IDS.length; i++) {\r\n let id = SOCIAL_IDS[i];\r\n if (element.classList.contains(id)) {\r\n return id;\r\n }\r\n }\r\n return null;\r\n}\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.js\n// module id = 9\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 11/7/16.\n */\n\"use strict\";\n\nimport template from \"./byu-user-info.html\";\nimport * as util from 'byu-web-component-utils';\n\nclass ByuUserInfo extends HTMLElement {\n\n constructor() {\n super();\n\n let shadowRoot = this.attachShadow({mode: 'open'});\n \n }\n\n\n static get observedAttributes() {\n // return ['login-url'];\n }\n\n attributeChangedCallback(attr, oldval, newval) {\n // switch (attr) {\n // case 'login-url':\n // this.loginUrl = newval;\n // break;\n // }\n }\n\n connectedCallback() {\n util.applyTemplate(this, 'byu-user-info', template, () => {\n this._addSlotListeners();\n this._addAriaAttributes();\n }); \n }\n\n _addSlotListeners() {\n\n this._setHasUser();\n const userSlot = this.shadowRoot.querySelector('#user-name');\n userSlot.addEventListener('slotchange', e => {\n this._setHasUser();\n });\n }\n\n _setHasUser() {\n const userSlot = this.shadowRoot.querySelector('#user-name');\n if (userSlot.assignedNodes().length > 0) {\n this.setAttribute('has-user', '');\n }\n else {\n this.removeAttribute('has-user');\n }\n }\n\n _addAriaAttributes() {\n this.setAttribute('role', 'button');\n }\n\n}\n\nwindow.customElements.define('byu-user-info', ByuUserInfo);\nwindow.ByuUserInfo = ByuUserInfo;\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.js\n// module id = 10\n// module chunks = 0","module.exports = {\n\t\"name\": \"byuweb-components\",\n\t\"version\": \"1.0.3\",\n\t\"description\": \"Components to be used for byu web pages and applications.\",\n\t\"main\": \"\",\n\t\"scripts\": {\n\t\t\"build\": \"gulp build\",\n\t\t\"serve\": \"gulp watch\",\n\t\t\"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n\t},\n\t\"private\": true,\n\t\"author\": \"\",\n\t\"license\": \"Apache-2.0\",\n\t\"dependencies\": {\n\t\t\"byu-web-component-utils\": \"^0.4.2\",\n\t\t\"deep-equal\": \"^1.0.1\",\n\t\t\"sass-loader\": \"^6.0.6\"\n\t},\n\t\"devDependencies\": {\n\t\t\"browser-sync\": \"^2.18.6\",\n\t\t\"byu-web-component-build\": \"^0.2.3\",\n\t\t\"git-revision-webpack-plugin\": \"^2.5.1\",\n\t\t\"gulp\": \"^3.9.1\",\n\t\t\"gulp-rename\": \"^1.2.2\"\n\t}\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./package.json\n// module id = 11\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/24/17\n */\n\"use strict\";\n\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD module\n define(factory);\n } else if (typeof exports === 'object') {\n // CommonJS-like environment (i.e. Node)\n module.exports = factory();\n } else {\n // Browser global\n root.transformicons = factory();\n }\n}(this || window, function () {\n\n // ####################\n // MODULE TRANSFORMICON\n // ####################\n 'use strict';\n\n var\n tcon = {}, // static class\n _transformClass = 'tcon-transform',\n\n // const\n DEFAULT_EVENTS = {\n transform : ['click'],\n revert : ['click']\n };\n\n // ##############\n // private methods\n // ##############\n\n /**\n * Normalize a selector string, a single DOM element or an array of elements into an array of DOM elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements\n * @returns {array} Array of DOM elements\n */\n var getElementList = function (elements) {\n if (typeof elements === 'string') {\n return Array.prototype.slice.call(document.querySelectorAll(elements));\n } else if (typeof elements === 'undefined' || elements instanceof Array) {\n return elements;\n } else {\n return [elements];\n }\n };\n\n /**\n * Normalize a string with eventnames separated by spaces or an array of eventnames into an array of eventnames.\n * @private\n *\n * @param {(string|array)} elements - String with eventnames separated by spaces or array of eventnames\n * @returns {array} Array of eventnames\n */\n var getEventList = function (events) {\n if (typeof events === 'string') {\n return events.toLowerCase().split(' ');\n } else {\n return events;\n }\n };\n\n /**\n * Attach or remove transformicon events to one or more elements.\n * @private\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {boolean} [remove=false] - Defines wether the listeners should be added (default) or removed.\n */\n var setListeners = function (elements, events, remove) {\n var\n method = (remove ? 'remove' : 'add') + 'EventListener',\n elementList = getElementList(elements),\n currentElement = elementList.length,\n eventLists = {};\n\n // get events or use defaults\n for (var prop in DEFAULT_EVENTS) {\n eventLists[prop] = (events && events[prop]) ? getEventList(events[prop]) : DEFAULT_EVENTS[prop];\n }\n\n // add or remove all events for all occasions to all elements\n while(currentElement--) {\n for (var occasion in eventLists) {\n var currentEvent = eventLists[occasion].length;\n while(currentEvent--) {\n elementList[currentElement][method](eventLists[occasion][currentEvent], handleEvent);\n }\n }\n }\n };\n\n /**\n * Event handler for transform events.\n * @private\n *\n * @param {object} event - event object\n */\n var handleEvent = function (event) {\n tcon.toggle(event.currentTarget);\n };\n\n // ##############\n // public methods\n // ##############\n\n /**\n * Add transformicon behavior to one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.add = function (elements, events) {\n setListeners(elements, events);\n return tcon;\n };\n\n /**\n * Remove transformicon behavior from one or more elements.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @param {object} [events] - An Object containing one or more special event definitions\n * @param {(string|array)} [events.transform] - One or more events that trigger the transform. Can be an Array or string with events seperated by space.\n * @param {(string|array)} [events.revert] - One or more events that trigger the reversion. Can be an Array or string with events seperated by space.\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.remove = function (elements, events) {\n setListeners(elements, events, true);\n return tcon;\n };\n\n /**\n * Put one or more elements in the transformed state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be transformed\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.transform = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.add(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Revert one or more elements to the original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be reverted\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.revert = function (elements) {\n getElementList(elements).forEach(function(element) {\n element.classList.remove(_transformClass);\n });\n return tcon;\n };\n\n /**\n * Toggles one or more elements between transformed and original state.\n * @public\n *\n * @param {(string|element|array)} elements - Selector, DOM element or Array of DOM elements to be toggled\n * @returns {transformicon} transformicon instance for chaining\n */\n tcon.toggle = function (elements) {\n getElementList(elements).forEach(function(element) {\n tcon[element.classList.contains(_transformClass) ? 'revert' : 'transform'](element);\n });\n return tcon;\n };\n\n return tcon;\n}));\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/icons/transformicons.js\n// module id = 12\n// module chunks = 0","/**\n * Created by ThatJoeMoore on 2/18/17\n */\n\"use strict\";\n\n/*\n * Header Bits\n */\nimport './byu-header/byu-header.js';\nimport './byu-menu/byu-menu.js';\nimport './byu-search/byu-search.js';\nimport './byu-user-info/byu-user-info.js';\n\n/*\n * Footer Bits\n */\n\nimport './byu-footer/byu-footer.js';\nimport './byu-footer-column/byu-footer-column.js';\nimport './byu-footer-action-button/byu-footer-action-button.js';\nimport './byu-social-media-links/byu-social-media-links.js';\n\nimport {version} from '../package.json';\n\nconsole.log(`--------------- Starting byu-theme-components ${version} ---------------`);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-theme-components.js\n// module id = 13\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 createEvent(name, detail) {\n if (typeof window.CustomEvent === 'function') {\n return new CustomEvent(name, {detail, cancelable: true, bubbles: true})\n }\n let evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(name, true, true, detail);\n return evt;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/createEvent.js\n// module id = 14\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\nimport matches from './matchesSelector.js';\n\nexport default function querySelectorSlot(slot, selector) {\n let roots = slot.assignedNodes({flatten: true})\n .filter(n => n.nodeType === Node.ELEMENT_NODE);\n\n for (let i = 0, len = roots.length; i < len; i++) {\n let each = roots[i];\n if (matches(each, selector)) {\n return each;\n }\n let child = each.querySelector(selector);\n if (child) {\n return child;\n }\n }\n return null;\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/querySelectorSlot.js\n// module id = 15\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\nimport hash from 'hash-sum';\n\nconst TEMPLATE_RENDERED_CLASS = 'byu-component-rendered';\n\nexport default function applyTemplate(element, elementName, template, callback) {\n let sum = hash(template);\n\n let elSettings = element.__byu_webCommunity_components = element.__byu_webCommunity_components || {};\n if (elSettings.templateHash === sum) {\n //Nothing has changed in the element. Don't replace the DOM, don't fire the callback.\n return;\n }\n elSettings.templateHash = sum;\n\n if (window.ShadyCSS && !window.ShadyCSS.nativeShadow) {\n applyTemplateShady(element, elementName, template, callback, sum);\n } else {\n applyTemplateNative(element, template, callback);\n }\n}\n\nfunction applyTemplateShady(element, elementName, template, callback, sum) {\n let templateId = '__byu-custom-element-template_' + elementName + '_' + sum;\n let templateElement = document.head.querySelector('template#' + templateId);\n if (!templateElement) {\n templateElement = document.createElement('template');\n templateElement.id = templateId;\n templateElement.innerHTML = template;\n document.head.appendChild(templateElement);\n ShadyCSS.prepareTemplate(templateElement, elementName);\n }\n if (ShadyCSS.styleElement) {\n ShadyCSS.styleElement(element);\n } else if (ShadyCSS.applyStyle) {\n ShadyCSS.applyStyle(element);\n } else {\n throw new Error('ShadyCSS is not properly defined: no styleElement or applyStyle!');\n }\n let imported = document.importNode(templateElement.content, true);\n let shadow = element.shadowRoot;\n //It'd be nice if we could just diff the DOM and replace what changed between templates, but that might lead to\n // event listeners getting applied twice. Easier to just clear out the shadow DOM and replace it.\n while (shadow.firstChild) {\n shadow.removeChild(shadow.firstChild);\n }\n shadow.appendChild(imported);\n setTimeout(function() {\n runAfterStamping(element, callback);\n });\n}\n\nfunction applyTemplateNative(element, template, callback) {\n element.shadowRoot.innerHTML = template;\n runAfterStamping(element, callback);\n}\n\nfunction runAfterStamping(element, callback) {\n element.classList.add(TEMPLATE_RENDERED_CLASS);\n if (callback) {\n callback();\n }\n}\n\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/byu-web-component-utils/lib/templating.js\n// module id = 16\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{background-color:#666;font-family:Vitesse A,Vitesse B,Georgia,serif;font-size:20px!important;color:#fff;display:inline-block;text-align:center;line-height:2.1em;height:45px;width:auto;min-width:125px;margin:10px 0 20px;-webkit-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);-moz-box-shadow:0 3px 5px 0 rgba(0,0,0,.35);box-shadow:0 3px 5px 0 rgba(0,0,0,.35)}.wrapper ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400!important;color:#fff!important;display:inline-block!important;position:relative!important;height:100%!important;width:100%!important;margin:0 20px!important;left:-20px!important;cursor:pointer!important;vertical-align:middle!important}.wrapper ::slotted(a){text-decoration:none!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.scss\n// module id = 17\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".header{width:100%;margin-bottom:8px}.header ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;text-transform:uppercase!important;color:#002e5d!important;font-size:20px!important;border-bottom:1px solid #c5c5c5!important;padding-bottom:3px!important;font-weight:400!important;width:100%;display:inline-block}.header ::slotted(br){display:none}.content ::slotted(:not(byu-footer-action-button)){font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#666!important;display:block;padding:11px 0}.content ::slotted(a){text-decoration:none!important;outline:none!important}.content ::slotted(a:hover){cursor:pointer;color:#002e5d!important}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.scss\n// module id = 18\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".university-footer{background-color:#002e5d;text-align:center;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:400;font-size:12px;color:#fff;width:100%;padding:21px 0;display:flex;justify-content:center;align-items:center;flex-direction:column}.university-footer a{color:#fff;text-decoration:none}.university-footer a:hover{text-decoration:underline}.university-logo-wrapper{max-width:1200px;width:100%;padding:0 8px}.university-logo{max-width:100%;width:450px;height:40px;margin:-10px 0}.university-info{display:flex;flex-direction:column;align-items:center}.university-info>:not(:first-of-type){margin-top:.25em}@media (min-width:425px){.university-info{flex-direction:row}.university-info>:not(:first-of-type){margin-top:0}.university-info>:not(:first-of-type):before{display:inline-block;color:#fff;content:\\\"|\\\";text-align:center;width:1em}}.site-footer-wrapper{background-color:#e5e5e5}.site-footer{margin:0 auto;height:auto;box-sizing:border-box;padding:0 8px;display:flex;flex-direction:column;flex-wrap:wrap}.site-footer ::slotted(*){flex-grow:1;margin:0 8px}.site-footer ::slotted(.double-wide){flex-grow:2}.site-footer ::slotted(.triple-wide){flex-grow:3}@media (min-width:600px){.site-footer{flex-direction:row}.site-footer ::slotted(*){width:calc(50% - 16px)}.site-footer ::slotted(.double-wide),.site-footer ::slotted(.triple-wide){width:calc(100% - 16px)}}@media (min-width:1024px){.site-footer{flex-wrap:nowrap;justify-content:center}.site-footer ::slotted(*){width:calc(20% - 16px);margin:30px 8px 40px;max-width:calc(30% - 16px)}.site-footer ::slotted(.double-wide){width:calc(40% - 16px);max-width:calc(60% - 16px)}.site-footer ::slotted(.triple-wide){width:calc(60% - 16px);max-width:calc(100% - 30% - 16px)}.site-footer ::slotted(:first-child){margin-left:0}.site-footer ::slotted(:last-child){margin-right:0}}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.scss\n// module id = 19\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".tcon{appearance:none;border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;height:24px;transition:.15s;user-select:none;width:17px;background:transparent;outline:none;-webkit-tap-highlight-color:transparent;padding:0!important}.tcon>*{display:block}.tcon:focus,.tcon:hover{outline:none}.tcon::-moz-focus-inner{border:0}.tcon-menu__lines{width:24px;position:relative}.tcon-menu__lines,.tcon-menu__lines:after,.tcon-menu__lines:before{display:inline-block;border-radius:1px;height:3px;transition:.15s;background:#fff}.tcon-menu__lines:after,.tcon-menu__lines:before{width:24px;content:\\\"\\\";position:absolute;left:0;transform-origin:1.71429px center;width:100%}.tcon-menu__lines:before{top:6px}.tcon-menu__lines:after{top:-6px}.tcon-transform .tcon-menu__lines{transform:scale3d(.8,.8,.8)}.tcon-menu--xbutterfly{width:auto}.tcon-menu--xbutterfly .tcon-menu__lines:after,.tcon-menu--xbutterfly .tcon-menu__lines:before{transform-origin:50% 50%;transition:top .3s ease .6s,transform .3s ease}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines{background:transparent}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after,.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{top:0;transition:top .3s ease,transform .3s ease .5s;width:24px}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:before{transform:rotate(45deg)}.tcon-menu--xbutterfly.tcon-transform .tcon-menu__lines:after{transform:rotate(-45deg)}.tcon-visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.tcon-visuallyhidden:active,.tcon-visuallyhidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.byu-header-actions{display:flex;align-items:center;height:34px}.byu-header-actions ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.byu-header-root{background-color:#002e5d;width:100%;font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-size:18px}.byu-header-root .byu-header-content{display:flex;justify-content:center;flex:1;flex-basis:100%;padding:0 16px;box-sizing:border-box}.byu-header-root img.byu-logo{margin-right:16px}.byu-header-root button{background-color:#666;color:#fff;border:none;cursor:pointer}.byu-header-root .byu-header-primary{background-color:#002e5d;color:#fff;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;flex:1;min-height:55px;box-sizing:border-box}.byu-header-root .byu-header-primary .byu-header-title{overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;flex:1;display:flex;flex-direction:column;font-size:22px;font-family:Vitesse A,Vitesse B,Georgia,serif!important;color:#fff!important;text-decoration:none}.byu-header-root .byu-header-primary .byu-header-title ::slotted(*){font-family:Vitesse A,Vitesse B,Georgia,serif!important;font-weight:400;font-size:22px;line-height:normal}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle){font-size:14px;line-height:14px;margin:0;margin-top:-1px;margin-bottom:3px}.byu-header-root .byu-header-primary .byu-header-title ::slotted(.subtitle:first-child){font-size:14px;line-height:14px;margin-bottom:-1px;margin-top:2px}.byu-header-root .byu-header-primary .byu-header-user button{background-color:transparent;position:relative}.byu-header-root .byu-header-primary .byu-header-user button .icon{width:20px;height:20px;font-size:20px;vertical-align:middle}.byu-header-root .byu-header-primary .byu-header-user button .label{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;text-transform:uppercase}.byu-header-root .byu-header-primary .byu-header-search #search-input{font-family:Gotham A,Gotham B,Helvetica,sans-serif;font-weight:500;font-size:13px;color:#002e5d}.byu-header-root .byu-header-primary .byu-header-search #search-input::-webkit-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-ms-input-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-header-search #search-input::-moz-placeholder{color:#c5c5c5;opacity:1}.byu-header-root .byu-header-primary .byu-logo,.byu-header-root .byu-header-primary .byu-logo-link{height:34px}.menu-outer-wrapper{border-bottom:1px solid #ccc}.menu-inner-wrapper{margin:0 auto;padding:0 16px;box-sizing:border-box}:host(.below-max-width) .menu-inner-wrapper{padding:0}#mobileMenu{max-height:0;transition:.5s cubic-bezier(.4,0,.2,1);overflow:hidden}:host([mobile-view]) .byu-header-root .byu-header-content{display:block;margin:0;padding:0}:host([mobile-view]) .byu-header-root .byu-logo{align-self:flex-start}:host([mobile-view]) .byu-header-root .byu-header-primary{margin-left:16px;padding-top:10.5px;padding-bottom:10.5px;min-height:34px;padding-right:16px!important;align-items:baseline}:host([mobile-view]) .byu-header-root .byu-header-actions{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;padding:0!important;background-color:#e6e6e6;color:#002e5d!important;border-top:1px solid #c5c5c5;width:100%;display:flex;flex-direction:column;align-items:flex-start;line-height:12px!important}:host([mobile-view]) .byu-header-root .byu-header-actions:hover{background:#c5c5c5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.active,:host([mobile-view]) .byu-header-root .byu-header-actions.selected{background:#e5e5e5!important}:host([mobile-view]) .byu-header-root .byu-header-actions.long-link{max-width:300px;flex:2}:host([mobile-view]) .byu-header-root .byu-header-actions.extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .byu-header-root #actions a{color:#002e5d!important;font-weight:500!important}:host([mobile-view]) .byu-header-root #actions p{margin:0!important}:host([mobile-view]) .byu-header-root .byu-header-actions ::slotted(*){color:#002e5d!important;padding:18px 50px!important}:host([mobile-view]) .byu-header-root>div>:not(.byu-logo){margin-right:0}:host([mobile-view]) .byu-header-root .byu-header-title{align-items:flex-start;align-self:center;font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(*){font-size:16px!important}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle){font-size:12px!important;margin-top:3px}:host([mobile-view]) .byu-header-root .byu-header-title ::slotted(.subtitle:first-child){margin-top:0!important;margin-bottom:4px}:host([mobile-view]) .byu-header-root button.mobile-menu-button{background-color:transparent;margin-top:5px;margin-bottom:5px}:host([no-menu]) .mobile-menu-button{display:none}:host(:not([mobile-view])) .byu-header-root{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-actions ::slotted(*){margin-left:4px;margin-right:4px}:host(:not([mobile-view])) .byu-header-root .byu-header-actions a{color:#fff!important}:host(:not([mobile-view])) .byu-header-root.no-nav{height:48px}:host(:not([mobile-view])) .byu-header-root .nav-expand{display:none}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary{background-color:#002e5d;color:#fff;height:55px}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary,:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search input{border:1px solid #002e5d;border-right:none;height:20px;padding:4px 6px;flex:1;width:217px;box-sizing:content-box}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-search button{height:28px;width:30px;text-align:center}:host(:not([mobile-view])) .byu-header-root .byu-header-secondary .byu-header-menu-button{display:none}:host([full-width]) .byu-header-content{max-width:100%!important}:host([full-width]) .menu-inner-wrapper{max-width:100%!important;padding:0}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.scss\n// module id = 20\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{display:flex;justify-content:center;width:100%;height:auto;background:#fff}:host(.transparent){opacity:.88}.outer-nav{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;box-sizing:border-box;height:35px;position:relative;flex:1;flex-basis:100%}.slot-container ::slotted(*){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;flex:1}.slot-container ::slotted(*):hover{background:#c5c5c5!important}.slot-container ::slotted(*).active,.slot-container ::slotted(*).selected{background:#e5e5e5!important}.slot-container ::slotted(*).long-link{max-width:300px;flex:2}.slot-container ::slotted(*).extra-long-link{max-width:400px;flex:3}.slot-container ::slotted(:hover){background:#c5c5c5!important}.slot-container ::slotted(.active),.slot-container ::slotted(.selected){background:#e5e5e5!important}.slot-container ::slotted(.long-link){max-width:300px;flex:2}.slot-container ::slotted(.extra-long-link){max-width:400px;flex:3}.byu-menu-more-menu{display:none;position:relative;height:35px;width:16.66%;overflow:visible!important}.byu-menu-more-menu .byu-menu-more{text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;position:relative;flex:1;display:block}.byu-menu-more-menu .byu-menu-more:hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more.active,.byu-menu-more-menu .byu-menu-more.selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more.long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more.extra-long-link{max-width:400px;flex:3}.byu-menu-more-menu .byu-menu-more .more-open-button{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/down-open-navy.svg\\\");height:13px;width:13px;display:inline-block;background-size:100%}.byu-menu-more-menu .byu-menu-more-items{display:none;position:absolute;top:35px;right:0;min-width:100%;max-width:250px;z-index:2;background:#fff;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-menu .byu-menu-more-items ::slotted(*){width:100%;text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;box-sizing:border-box;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;text-align:left!important;padding-left:12px!important;padding-right:12px!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*):hover{background:#c5c5c5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).active,.byu-menu-more-menu .byu-menu-more-items ::slotted(*).selected{background:#e5e5e5!important}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).long-link{max-width:300px;flex:2}.byu-menu-more-menu .byu-menu-more-items ::slotted(*).extra-long-link{max-width:400px;flex:3}.byu-menu-more-visible .byu-menu-more-menu{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded{background:#e5e5e5;box-shadow:0 0 2px 0 rgba(0,0,0,.75)}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-more-items{display:block}.byu-menu-more-visible .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{position:fixed;top:0;bottom:0;left:0;right:0;z-index:1}:host(.mobile-view) .outer-nav{display:block;height:auto}:host(.mobile-view) .byu-menu-more{display:none!important}:host(.mobile-view) .slot-container ::slotted(*){display:block!important;text-align:left!important;padding:18px 18px 18px 50px!important;height:auto!important;width:100%;max-width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .slot-container ::slotted(*).byu-menu-more-menu{padding:0!important}:host(.mobile-view) .byu-menu-more-menu{display:block;width:100%;box-shadow:none;position:static;height:auto}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items{display:block;box-shadow:none;padding:0;position:static!important}:host(.mobile-view) .byu-menu-more-menu .byu-menu-more-items ::slotted(*){display:block!important;text-align:left!important;padding:18px 50px!important;height:auto!important;width:100%;position:static;box-sizing:border-box;line-height:12px!important}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded{box-shadow:none}:host(.mobile-view) .byu-menu-more-menu.byu-menu-more-expanded .byu-menu-fixed-overlay{display:none!important}:host([left-align]) .outer-nav ::slotted(*){min-width:200px;flex:0;padding:0 16px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.scss\n// module id = 21\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \":host{margin-left:20px}#search-icon{width:17px;height:17px}button{background-color:var(--byu-search-color,#666);border:1px solid var(--byu-search-color,#666);color:#fff;width:30px;height:30px;display:flex;align-items:center;box-sizing:border-box}#search-form{display:flex;align-items:stretch;align-content:center;width:216px}#search-form #search-container{flex:1}#search-form #search-container input{padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container input::placeholder{color:#666}#search-form #search-container input::-webkit-input-placeholder{color:#666}#search-form #search-container input:-ms-input-placeholder,#search-form #search-container input::-ms-input-placeholder{color:#666}#search-form #search-container ::slotted(input){padding:5px 10px;border:none;height:30px;-webkit-appearance:none;border-radius:0;margin:0;box-sizing:border-box;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-size:13px!important;font-weight:500!important;color:#002e5d!important;width:100%}#search-form #search-container ::slotted(input::placeholder){color:#666}#search-form #search-container ::slotted(input:-ms-input-placeholder),#search-form #search-container ::slotted(input::-ms-input-placeholder){color:#666}#search-form #search-container ::slotted(input::-webkit-input-placeholder){color:#666}:host(.mobile-view){width:100%;height:35px;margin:0}:host(.mobile-view) #search-form{width:auto}:host(.mobile-view) #search-form #search-container ::slotted(input),:host(.mobile-view) #search-form #search-container input{padding-left:16px;width:100%;height:35px;border-bottom:1px solid #c5c5c5}:host(.mobile-view) #search-button{width:53px;height:35px;padding:0 16px}:host(.mobile-view) #search-icon{width:20px;height:20px}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.scss\n// module id = 22\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper{display:flex;flex-direction:row}.slot-wrapper ::slotted(*){height:28px;width:28px;display:block;color:transparent!important;overflow:hidden;background-size:contain;background-repeat:no-repeat;background-clip:content-box;background-position:50%;margin:8px 8px 8px 0!important}.slot-wrapper ::slotted(.facebook),.slot-wrapper ::slotted([slot=facebook]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/fa.svg\\\")}.slot-wrapper ::slotted(.twitter),.slot-wrapper ::slotted([slot=twitter]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/tw.svg\\\")}.slot-wrapper ::slotted(.instagram),.slot-wrapper ::slotted([slot=instagram]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/in.svg\\\")}.slot-wrapper ::slotted(.youtube),.slot-wrapper ::slotted([slot=youtube]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/yo.svg\\\")}.slot-wrapper ::slotted(.pinterest),.slot-wrapper ::slotted([slot=pinterest]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/pi.svg\\\")}.slot-wrapper ::slotted(.google-plus),.slot-wrapper ::slotted(.googleplus),.slot-wrapper ::slotted(.gplus),.slot-wrapper ::slotted([slot=google-plus]),.slot-wrapper ::slotted([slot=googleplus]),.slot-wrapper ::slotted([slot=gplus]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/gp.svg\\\")}.slot-wrapper ::slotted(.linkedin),.slot-wrapper ::slotted([slot=linkedin]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/li.svg\\\")}.slot-wrapper ::slotted(.rss),.slot-wrapper ::slotted([slot=rss]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/rs.svg\\\")}.slot-wrapper ::slotted(.snapchat),.slot-wrapper ::slotted([slot=snapchat]){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/sn.svg\\\")}.slot-wrapper ::slotted(.podcast){background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/social/obfuscated/po.svg\\\")}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.scss\n// module id = 23\n// module chunks = 0","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".slot-wrapper ::slotted(*){text-decoration:none!important;font-size:13px!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important;color:#fff!important}.has-user,.no-user{display:flex;flex-direction:row;align-items:center}.user-info-image{height:20px;width:20px;margin:5px;margin-right:11px;background-size:contain}:host(:not([mobile-view])){color:#fff}:host(:not([mobile-view])) .mobile{display:none}:host(:not([mobile-view])) .slot-wrapper{display:flex;align-items:center}:host(:not([mobile-view])) .slot-wrapper ::slotted(a:hover){text-decoration:underline!important}:host(:not([mobile-view])) .has-user .name ::slotted(*){color:#c3ddf9!important;text-transform:uppercase!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not([mobile-view])) .user-info-image{margin:7px;background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-white.svg\\\")}:host([mobile-view]){text-decoration:none!important;font-size:13px!important;text-transform:uppercase!important;color:#fff!important;font-family:Gotham A,Gotham B,Helvetica,sans-serif!important;font-weight:500!important;color:#002e5d!important;height:35px!important;display:inline-block;text-align:center!important;padding:0 6px!important;line-height:35px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:background .3s;display:block;box-sizing:border-box;padding:18px 33px!important;line-height:12px;text-align:left!important;height:auto!important;border-bottom:1px solid #c5c5c5;padding:10px 14px!important;background-color:#fff!important;line-height:12px!important}:host([mobile-view]):hover{background:#c5c5c5!important}:host([mobile-view]).active,:host([mobile-view]).selected{background:#e5e5e5!important}:host([mobile-view]).long-link{max-width:300px;flex:2}:host([mobile-view]).extra-long-link{max-width:400px;flex:3}:host([mobile-view]) .not-mobile{display:none}:host([mobile-view]) .slot-wrapper ::slotted(*){color:#002e5d!important}:host([mobile-view]) .has-user .logout{order:3}:host([mobile-view]) .has-user .name{order:2;flex:1}:host([mobile-view]) .has-user .name ::slotted(*){text-transform:capitalize!important;color:#0057b8!important}:host([mobile-view]) .user-info-image{background-image:url(\\\"https://cdn.byu.edu/shared-icons/latest/fontawesome/user-circle-o-navy.svg\\\")}:host(:not([has-user])) .has-user,:host([has-user]) .no-user{display:none}\", \"\"]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.scss\n// module id = 24\n// module chunks = 0","var pSlice = Array.prototype.slice;\nvar objectKeys = require('./lib/keys.js');\nvar isArguments = require('./lib/is_arguments.js');\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/index.js\n// module id = 25\n// module chunks = 0","var supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/is_arguments.js\n// module id = 26\n// module chunks = 0","exports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/deep-equal/lib/keys.js\n// module id = 27\n// module chunks = 0","module.exports = function anonymous(locals, escapeFn, include, rethrow) {\n \"use strict\";\n escapeFn = escapeFn || function(markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n }, _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var __output = [], __append = __output.push.bind(__output);\n __append(\"
\\n
\\n\\n\"BYU\"\\n
\\n\\n
\\n');\n if (locals.mobile) {\n __append('\\n');\n }\n __append('
\\n');\n if (!locals.mobile) {\n __append('
\\n\\n
\\n
\\n\\n
\\n');\n }\n __append('
\\n\\n
\\n
');\n if (locals.mobile) {\n __append('
\\n\\n\\n
\\n\\n
\\n
\\n');\n }\n __append(\"
\\n\");\n if (!locals.mobile) {\n __append('
\\n
\\n\\n
\\n
\\n');\n }\n return __output.join(\"\");\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-header/byu-header.ejs.html\n// module id = 28\n// module chunks = 0","'use strict';\n\nfunction pad (hash, len) {\n while (hash.length < len) {\n hash = '0' + hash;\n }\n return hash;\n}\n\nfunction fold (hash, text) {\n var i;\n var chr;\n var len;\n if (text.length === 0) {\n return hash;\n }\n for (i = 0, len = text.length; i < len; i++) {\n chr = text.charCodeAt(i);\n hash = ((hash << 5) - hash) + chr;\n hash |= 0;\n }\n return hash < 0 ? hash * -2 : hash;\n}\n\nfunction foldObject (hash, o, seen) {\n return Object.keys(o).sort().reduce(foldKey, hash);\n function foldKey (hash, key) {\n return foldValue(hash, o[key], key, seen);\n }\n}\n\nfunction foldValue (input, value, key, seen) {\n var hash = fold(fold(fold(input, key), toString(value)), typeof value);\n if (value === null) {\n return fold(hash, 'null');\n }\n if (value === undefined) {\n return fold(hash, 'undefined');\n }\n if (typeof value === 'object') {\n if (seen.indexOf(value) !== -1) {\n return fold(hash, '[Circular]' + key);\n }\n seen.push(value);\n return foldObject(hash, value, seen);\n }\n return fold(hash, value.toString());\n}\n\nfunction toString (o) {\n return Object.prototype.toString.call(o);\n}\n\nfunction sum (o) {\n return pad(foldValue(0, o, '', []).toString(16), 8);\n}\n\nmodule.exports = sum;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/hash-sum/hash-sum.js\n// module id = 29\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-action-button/byu-footer-action-button.html\n// module id = 30\n// module chunks = 0","module.exports = \"

\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer-column/byu-footer-column.html\n// module id = 31\n// module chunks = 0","module.exports = \"
© All Rights Reserved Provo, UT 84602, USA 801-422-4636
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-footer/byu-footer.html\n// module id = 32\n// module chunks = 0","module.exports = \" \";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-menu/byu-menu.html\n// module id = 33\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-search/byu-search.html\n// module id = 34\n// module chunks = 0","module.exports = \"
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-social-media-links/byu-social-media-links.html\n// module id = 35\n// module chunks = 0","module.exports = \"
Sign In
Sign Out
\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./components/byu-user-info/byu-user-info.html\n// module id = 36\n// module chunks = 0"]} diff --git a/package-lock.json b/package-lock.json index 295ab8a7..ec27ad47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "byuweb-components", - "version": "1.0.3", + "version": "1.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7d542e8a..abca6df1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "byuweb-components", - "version": "1.0.3", + "version": "1.1.0", "description": "Components to be used for byu web pages and applications.", "main": "", "scripts": {