{"version":3,"sources":["jsdelivr-header.js","/npm/@umich-lib/design-system@0.1.5/dist/umich-lib-components.js"],"names":[],"mappings":"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","file":"/npm/@umich-lib/design-system@0.1.5/dist/umich-lib-components.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@umich-lib/design-system@0.1.5/dist/umich-lib-components.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(()=>{var o=class extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:\"open\"}),this.variant=\"info\"}static get observedAttributes(){return[\"variant\"]}attributeChangedCallback(e,n,t){n!==t&&(e!==\"variant\"&&(this[e]=t),this.variant=t===\"warning\"?t:\"info\")}isWarning(e,n){return this.variant===\"warning\"?e:n}connectedCallback(){this.shadow.innerHTML=`\n      <style>\n        *,\n        *::before,\n        *::after {\n          box-sizing: border-box;\n        }\n        .visually-hidden {\n          clip-path: rect(1px 1px 1px 1px);\n          height: 1px;\n          overflow: hidden;\n          position: absolute;\n          white-space: nowrap;\n          width: 1px;\n        }\n        .banner {\n          background-color: ${this.isWarning(\"var(--color-orange-300)\",\"var(--color-teal-200)\")};\n          color: var(--color-neutral-400);\n          padding: 0.5rem 0;\n        }\n        .banner__inner-container {\n          display: flex;\n          gap: 0.5rem;\n          margin: 0 auto;\n          max-width: 1280px;\n          padding: 0 1rem;\n          width: 100%;\n        }\n        @media (min-width: 52rem) {\n          .banner__inner-container {\n            padding: 0 2.5rem;\n          }\n        }\n        .banner__inner-container > svg {\n          flex-shrink: 0;\n          margin-top: 0.25em;\n        }\n      </style>\n      <div class=\"banner\">\n        <div class=\"banner__inner-container\">\n          <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"1em\" width=\"1em\" viewBox=\"0 0 44 40\" focusable=\"false\" aria-hidden=\"true\" role=\"presentation\">\n            <path fill=\"currentColor\" d=\"${this.isWarning(\"M0,39L22,1l22,38H0z M22.2,33.2c0.4,0,0.8-0.1,1.1-0.4s0.4-0.6,0.4-1.1c0-0.4-0.1-0.8-0.4-1.1s-0.6-0.4-1.1-0.4c-0.4,0-0.8,0.1-1.1,0.4c-0.3,0.3-0.4,0.6-0.4,1.1c0,0.4,0.1,0.8,0.4,1.1S21.8,33.2,22.2,33.2z M20.7,27.6h3V16.4h-3V27.6z\",\"M20.6,30h3V18h-3V30z M22,14.3c0.5,0,0.9-0.2,1.2-0.5c0.3-0.3,0.5-0.7,0.5-1.1c0-0.5-0.2-0.9-0.5-1.2C22.9,11.2,22.5,11,22,11c-0.5,0-0.9,0.2-1.2,0.5c-0.3,0.3-0.5,0.7-0.5,1.2c0,0.5,0.2,0.8,0.5,1.1C21.1,14.1,21.5,14.3,22,14.3z M22,40c-2.8,0-5.3-0.5-7.8-1.6c-2.4-1-4.5-2.5-6.4-4.3s-3.3-3.9-4.3-6.4C2.5,25.3,2,22.7,2,20s0.5-5.4,1.6-7.8c1-2.4,2.5-4.5,4.3-6.3s3.9-3.2,6.4-4.3c2.4-1,5-1.6,7.8-1.6s5.4,0.5,7.8,1.6c2.4,1,4.5,2.5,6.3,4.3c1.8,1.8,3.2,3.9,4.3,6.3s1.6,5,1.6,7.8s-0.5,5.3-1.6,7.8c-1,2.4-2.5,4.5-4.3,6.4c-1.8,1.8-3.9,3.2-6.4,4.3C27.4,39.5,24.8,40,22,40z M22,37c4.7,0,8.7-1.7,12-5s5-7.3,5-12.1s-1.6-8.7-4.9-12C30.8,4.7,26.7,3,22,3c-4.7,0-8.7,1.6-12,4.9C6.7,11.2,5,15.3,5,20c0,4.7,1.7,8.7,5,12S17.3,37,22,37z\")}\"/>\n          </svg>\n          <div class=\"banner__content\">\n            <span class=\"visually-hidden\">\n              ${this.isWarning(\"Warning\",\"Info\")} Alert:\n            </span>\n            <slot>\n              This banner's message should not be more than one line on desktop.\n            </slot>\n          </div>\n        </div>\n      </div>\n    `}};var u={critical:{color:\"pink\",icon:\"M15.7,3h-7.5l-5.3,5.3v7.5l5.3,5.3h7.5l5.3-5.3v-7.5l-5.3-5.3ZM12,17.3c-.7,0-1.3-.6-1.3-1.3s.6-1.3,1.3-1.3,1.3.6,1.3,1.3-.6,1.3-1.3,1.3ZM13,13h-2v-6h2s0,6,0,6Z\",weight:500},info:{color:\"teal\",icon:\"M12,2C6.5,2,2,6.5,2,12s4.5,10,10,10,10-4.5,10-10S17.5,2,12,2ZM13,17h-2v-2h2v2ZM13,13h-2v-6h2v6Z\"},success:{color:\"green\",icon:\"M9.6,18l-5.7-5.7,1.4-1.4,4.3,4.3,9.2-9.2,1.4,1.4-10.6,10.6Z\",weight:500},warning:{background:\"maize\",color:\"orange\",icon:\"M1,21h22L12,2,1,21ZM13,18h-2v-2h2v2ZM13,14h-2v-4h2v4Z\"}},b=0,l=class extends HTMLElement{static get observedAttributes(){return[\"dismissable\",\"label\",\"variant\"]}constructor(){super(),this.attachShadow({mode:\"open\"}),this.instanceIndex=b++,this.container=this.createElement(\"div\",\"callout\");let e=this.createElement(\"div\",\"callout__content\");this.labelElement=this.createElement(\"p\",\"label\"),this.slotElement=document.createElement(\"slot\"),this.svgElement=this.createSVGElement();let n=document.createElement(\"style\");n.textContent=this.getStyles(),this.shadowRoot.append(n,this.container),this.container.append(this.svgElement,e),e.append(this.labelElement,this.slotElement),this.handleDismiss=this.handleDismiss.bind(this)}createElement(e,n){let t=document.createElement(e);return t.className=n,t}createSVGElement(){let e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");return e.setAttribute(\"viewBox\",\"0 0 24 24\"),e.setAttribute(\"height\",\"24px\"),e.setAttribute(\"width\",\"24px\"),e.setAttribute(\"focusable\",\"false\"),e.setAttribute(\"role\",\"presentation\"),e.innerHTML=\"<path></path>\",this.pathElement=e.querySelector(\"path\"),e}getStyles(){return`\n      *,\n      *::before,\n      *::after {\n        box-sizing: border-box;\n      }\n      :host {\n        display: block;\n      }\n      .callout {\n        background-color: var(--color-teal-100);\n        border: 1px solid var(--color-neutral-100);\n        border-left: 4px solid var(--color-teal-400);\n        border-radius: 4px;\n        display: flex;\n        gap: 1rem;\n        flex-direction: column;\n        padding: 1rem 1.5rem;\n      }\n      @media only screen and (min-width: 620px) {\n        .callout {\n          flex-direction: row;\n        }\n      }\n      .callout > * {\n        flex: 0 0 auto;\n      }\n      .callout > .callout__content {\n        flex-grow: 1;\n      }\n      .callout > .callout__content > .label {\n        font-size: 1.125rem;\n        margin: 0;\n      }\n      :host(:not(:empty)) .callout > .callout__content > .label:not(:empty) {\n        margin-bottom: 1rem;\n      }\n      button.dismiss-button {\n        all: unset;\n        cursor: pointer;\n        text-decoration: underline;\n      }\n      button.dismiss-button:hover {\n        text-decoration-thickness: 2px;\n      }\n    `}connectedCallback(){this.render()}disconnectedCallback(){this.dismissButton?.removeEventListener(\"click\",this.handleDismiss)}attributeChangedCallback(e,n,t){n!==t&&this.render()}render(){this.updateLabel(),this.updateVariant(),this.updateDismissButton(),this.updateVisibility()}updateLabel(){let e=this.getAttribute(\"label\")||\"\";this.labelElement.textContent!==e&&(this.labelElement.textContent=e,this.labelElement.style.display=e?\"block\":\"none\")}updateVariant(){let e=this.getAttribute(\"variant\"),n=Object.hasOwn(u,e)?e:\"info\";this.setAttribute(\"variant\",n);let{background:t,color:a,icon:r,weight:i=400}=u[n];this.container.setAttribute(\"style\",`background-color: var(--color-${t||a}-100); border-left-color: var(--color-${a}-${i});`),this.pathElement.setAttribute(\"d\",r),this.pathElement.setAttribute(\"fill\",`var(--color-${a}-${i})`)}updateDismissButton(){let e=this.hasAttribute(\"dismissable\");e&&!this.dismissButton?this.createDismissButton():!e&&this.dismissButton&&this.removeDismissButton()}createDismissButton(){this.dismissButton=this.createElement(\"button\",\"dismiss-button\"),this.dismissButton.textContent=\"Dismiss\",this.dismissButton.addEventListener(\"click\",this.handleDismiss),this.container.appendChild(this.dismissButton)}removeDismissButton(){this.dismissButton.removeEventListener(\"click\",this.handleDismiss),this.dismissButton.remove(),this.dismissButton=null}handleDismiss(){this.style.display=\"none\",sessionStorage.setItem(this.getCalloutId(),\"dismissed\")}updateVisibility(){this.style.display=this.shouldHide()?\"none\":\"\"}getCalloutId(){let e=this.getAttribute(\"id\");return e||(e=`callout-${this.instanceIndex}`,this.setAttribute(\"id\",e)),`m-callout-${e}`}shouldHide(){let e=sessionStorage.getItem(this.getCalloutId())===\"dismissed\",n=this.getAttribute(\"label\")||\"\",t=this.slotElement.assignedNodes().length>0?this.slotElement.assignedNodes().map(r=>r.textContent.trim()).join(\"\"):this.slotElement.textContent.trim();return e||n===\"\"&&t===\"\"}};var d=class extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:\"open\"})}async displayAskALibrarian(){let e=await fetch(\"https://libraryh3lp-com.proxy.lib.umich.edu/presence/jid/umlibraryaskalibrarian/chat.libraryh3lp.com/text\");return e.ok||console.warn(\"Unable to check Chat online status.\"),await e.text()===\"available\"?`\n        <iframe\n          title=\"Ask a Librarian\"\n          src=\"https://libraryh3lp.com/chat/umlibraryaskalibrarian@chat.libraryh3lp.com?skin=36020&title=Ask a Librarian\"\n          width=\"100%\"\n          height=\"430\"\n        ></iframe>\n      `:`<p>We're <span class=\"strong\">offline</span> right now, but you can <a href=\"https://www.lib.umich.edu/ask-librarian\">view our hours and more ways to get in touch</a>.</p>`}async connectedCallback(){this.shadow.innerHTML=`\n      <style>\n        *,\n        *::before,\n        *::after {\n          box-sizing: border-box;\n        }\n        .m-chat {\n          background: white;\n          border-radius: var(--radius-default) var(--radius-default) 0 0;\n          border-top: solid 2px var(--color-maize-400);\n          bottom: 0;\n          box-shadow: var(--z-space-medium);\n          font-family: var(--font-base-family);\n          margin: 0 1rem;\n          max-width: fit-content;\n          position: fixed;\n          right: 0;\n        }\n        @media only screen and (min-width: 52rem) {\n          .m-chat {\n            margin: 0 2.5rem;\n          }\n        }\n        .m-chat__label {\n          align-items: center;\n          cursor: pointer;\n          display: flex;\n          gap: 0.75rem;\n          list-style: none;\n          min-height: 42px;\n          padding: 0.5rem 1rem;\n        }\n        .m-chat__label::-webkit-details-marker {\n          display: none;\n        }\n        .m-chat__label:hover {\n          text-decoration: underline;\n        }\n        .m-chat__label > svg {\n          flex-shrink: 0;\n        }\n        .m-chat__label > span {\n          flex-grow: 1;\n        }\n        .m-chat:not([open]) .m-chat__dropdown {\n          transform: rotate(180deg);\n        }\n        .m-chat__content {\n          display: flex;\n          flex-direction: column;\n          max-width: 320px;\n        }\n        .m-chat__content > iframe {\n          border: 0;\n        }\n        .m-chat__content > p {\n          margin: 1rem;\n          margin-top: 0;\n        }\n        .m-chat__content a {\n          color: var(--color-teal-400);\n          text-decoration: underline;\n        }\n        .m-chat__content a:hover {\n          text-decoration-thickness: 0.125rem;\n        }\n      </style>\n      <details class=\"m-chat\" aria-label=\"Ask a Librarian chat\">\n        <summary class=\"m-chat__label\">\n          <svg class=\"m-chat__icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" height=\"1.5rem\" width=\"1.5rem\" focusable=\"false\" role=\"presentation\">\n            <path\n              d=\"M2,6h12c1.1,0,2,.9,2,2v9c0,1.1-.9,2-2,2H3s-3,3-3,3v-5s0-1,0-1V8c0-1.1.9-2,2-2Z\"\n              fill=\"var(--color-maize-400)\"\n            />\n            <path\n              d=\"M22,3h-12c-1.1,0-2,.9-2,2v9c0,1.1.9,2,2,2h11l3,3V5c0-1.1-.9-2-2-2Z\"\n              fill=\"var(--color-blue-400)\"\n            />\n          </svg>\n          <span>Ask a Librarian</span>\n          <svg class=\"m-chat__dropdown\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" height=\"0.75rem\" width=\"0.75rem\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\">\n            <path d=\"M14.1,3.1L8,9.2L1.9,3.1L0,4.9l8,8l8-8L14.1,3.1z\"/>\n          </svg>\n        </summary>\n        <div class=\"m-chat__content\" role=\"log\">\n          ${await this.displayAskALibrarian()}\n        </div>\n      </details>\n    `}};var c=class extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:\"open\"}),this.maincontent=\"maincontent\",this.chat=\"chat\"}static get observedAttributes(){return[\"maincontent\",\"chat\"]}attributeChangedCallback(e,n,t){n===t||t.includes(\" \")||t===\"\"||(this[e]=t)}displayLink(e){return!this[e]||e===\"chat\"&&this[e]===\"false\"?\"\":`\n      <a href=\"#${this[e]}\">\n        Skip to ${e===\"maincontent\"?\"main content\":\"Ask a Librarian chat\"}\n      </a>\n    `}connectedCallback(){this.shadow.innerHTML=`\n      <style>\n        *,\n        *::before,\n        *::after {\n          box-sizing: border-box;\n        }\n        .skip-links {\n          background: var(--color-blue-400);\n          color: white;\n          padding: 1rem 0;\n          text-align: center;\n        }\n        .skip-links:not(:focus-within) {\n          height: 1px;\n          left: -10000px;\n          overflow: hidden;\n          position: absolute;\n          top: auto;\n          width: 1px;\n        }\n        .skip-links__inner-container {\n          align-items: center;\n          display: flex;\n          flex-direction: column;\n          gap: 0.5rem;\n          margin: 0 auto;\n          max-width: 1280px;\n          padding: 0 1rem;\n          width: 100%;\n        }\n        @media (min-width: 52rem) {\n          .skip-links__inner-container {\n            padding: 0 2.5rem;\n          }\n        }\n        .skip-links a {\n          color: inherit;\n          padding: 0.5rem;\n        }\n      </style>\n      <section aria-label=\"Skip links\" class=\"skip-links\">\n        <div class=\"skip-links__inner-container\">\n          ${this.displayLink(\"maincontent\")}\n          <slot></slot>\n          ${this.displayLink(\"chat\")}\n        </div>\n      </section>\n    `}};var h=class extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:\"open\"})}generateSlug(e){return`universal-header-${e.toLowerCase().replaceAll(\" \",\"-\")}`}async displayNavigation(){let e=await fetch(\"https://assets.lib.umich.edu/universalheader.json\");if(!e.ok)return`\n        <p>\n          <span class=\"strong\">Error</span>: We are temporarily having trouble loading our list of library sites. Please try refreshing your page. You can also contact <a href=\"https://www.lib.umich.edu/ask-librarian\" id=\"${this.generateSlug(\"Ask a Librarian\")}\">Ask a Librarian</a> for help.\n        </p>\n      `;let n=await e.json(),t=`\n      <p class=\"universal-header__heading\">Explore what the library has to offer.</p>\n      <nav>\n    `;return[...new Set(n.map(a=>a.level))].forEach(a=>{let r=n.filter(i=>i.level===a);t+=`\n        <ul ${r.length===1?'role=\"none\"':\"\"}>\n      `,r.forEach(i=>{t+=`\n          <li>\n            <a href=\"${i.link}\" id=\"${this.generateSlug(i.title)}\">\n              <span class=\"universal-header__item-title\">${i.title}</span>\n              ${i.description?`<span class=\"universal-header__item-desc\">${i.description}</span>`:\"\"}\n            </a>\n          </li>\n        `}),t+=\"</ul>\"}),t+=\"</nav>\",t}async displayWarning(){let e=\"\",n=window.location.hostname;if(!n.includes(\"umich.edu\"))return e;let t=await fetch(`https://assets.lib.umich.edu/alerts.json?now=${Date.now()}`,{cache:\"reload\"});if(!t.ok)return console.warn(\"Unable to fetch U-M Library Website Alerts.\"),e;let r=(await t.json()).filter(p=>p.domains.includes(n));if(!r)return e;let i=\"\";return r.forEach(p=>{i+=`<m-banner variant=\"warning\">${p.html}</m-banner>`}),i}async connectedCallback(){this.shadow.innerHTML=`\n      <style>\n        *,\n        *::before,\n        *::after {\n          box-sizing: border-box;\n        }\n        .universal-header {\n          background-color: var(--color-blue-100);\n          font-family: var(--font-base-family);\n        }\n        .universal-header__inner-container,\n        summary.universal-header__clickable-element {\n          align-items: center;\n          display: flex;\n        }\n        .universal-header__inner-container {\n          gap: 2rem;\n          justify-content: space-between;\n          margin: 0 auto;\n          max-width: 1280px;\n          padding: 0 1rem;\n          position: relative;\n          width: 100%;\n        }\n        @media (min-width: 52rem) {\n          .universal-header__inner-container {\n            padding: 0 2.5rem;\n          }\n        }\n        abbr {\n          text-decoration: underline;\n          text-decoration-style: dotted;\n        }\n        .strong,\n        .universal-header__clickable-element {\n          font-weight: 700;\n        }\n        .universal-header__clickable-element {\n          color: var(--color-neutral-300);\n          cursor: pointer;\n          font-size: 0.875rem;\n          letter-spacing: calc(1.25 / 14 * 1em);\n          padding: 0.5rem 0;\n          text-transform: uppercase;\n        }\n        .universal-header__clickable-element:not(:hover),\n        summary.universal-header__clickable-element:not(:hover) > span {\n          text-decoration: none;\n        }\n        a.universal-header__clickable-element {\n          text-decoration-thickness: inherit;\n        }\n        a.universal-header__clickable-element > span {\n          display: none;\n        }\n        @media only screen and (min-width: 620px) {\n          a.universal-header__clickable-element > span {\n            display: inline;\n          }\n          a.universal-header__clickable-element > abbr {\n            display: none;\n          }\n        }\n        summary.universal-header__clickable-element,\n        .universal-header__dropdown-content nav ul {\n          list-style-type: none;\n        }\n        summary.universal-header__clickable-element {\n          gap: 0.5rem;\n          height: 100%;\n        }\n        summary.universal-header__clickable-element::-webkit-details-marker,\n        summary.universal-header__clickable-element::marker {\n          display: none;\n        }\n        summary.universal-header__clickable-element > span {\n          text-decoration: underline;\n        }\n        .universal-header__dropdown[open] summary.universal-header__clickable-element > svg {\n          transform: rotate(180deg);\n        }\n        .universal-header__dropdown-content {\n          background: white;\n          border-radius: var(--radius-default);\n          box-shadow: var(--z-space-medium);\n          max-width: 280px;\n          position: absolute;\n          right: 0;\n          width: 100%;\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__dropdown-content {\n            max-width: 860px;\n            padding: 2rem;\n          }\n        }\n        .universal-header__heading {\n          display: none;\n          font-size: 1.75rem;\n          font-weight: 700;\n          margin: 0;\n          margin-bottom: 1.5rem;\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__heading {\n            display: inherit;\n          }\n          .universal-header__dropdown-content nav {\n            display: flex;\n            gap: 2rem;\n          }\n        }\n        .universal-header__dropdown-content nav ul {\n          margin: 0;\n          padding: 0;\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__dropdown-content nav ul:first-of-type {\n            flex-grow: 1;\n          }\n        }\n        .universal-header__dropdown-content nav ul + ul,\n        .universal-header__dropdown-content nav ul li + li {\n          border-top: 1px solid var(--color-neutral-100);\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__dropdown-content nav ul + ul,\n          .universal-header__dropdown-content nav ul li + li {\n            border-top: 0;\n          }\n          .universal-header__dropdown-content nav ul + ul {\n            border-left: 1px solid var(--color-neutral-100);\n            flex-shrink: 0;\n            padding-left: 2rem;\n          }\n          .universal-header__dropdown-content nav ul li + li {\n            margin-top: 0.75rem;\n          }\n        }\n        .universal-header__dropdown-content nav a,\n        .universal-header__dropdown-content nav a:not(:hover) span {\n          text-decoration: none;\n        }\n        .universal-header__dropdown-content nav a,\n        .universal-header__dropdown-content nav a > * {\n          color: inherit;\n          display: block;\n        }\n        .universal-header__dropdown-content nav a {\n          padding: 0.75rem 1rem;\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__dropdown-content nav a {\n            padding: 0;\n          }\n        }\n        .universal-header__dropdown-content nav a > .universal-header__item-title {\n          font-weight: 600;\n          text-decoration: underline var(--color-teal-400) 0.125em;\n        }\n        .universal-header__dropdown-content nav a > .universal-header__item-desc {\n          color: var(--color-neutral-300);\n          display: none;\n        }\n        @media only screen and (min-width: 620px) {\n          .universal-header__dropdown-content nav a > .universal-header__item-desc {\n            display: inherit;\n          }\n        }\n        m-banner {\n          background: var(--color-teal-200);\n          display: block;\n        }\n        m-banner[variant=\"warning\"] {\n          background: var(--color-orange-300);\n        }\n        m-banner + m-banner[variant=\"warning\"] {\n          border-top: 1px solid var(--color-orange-400);\n        }\n        m-banner > *:first-child {\n          margin-top: 0;\n          padding-top: 0;\n        }\n        m-banner > *:last-child {\n          margin-bottom: 0;\n          padding-bottom: 0;\n        }\n        m-banner a {\n          color: inherit;\n        }\n        m-banner a:hover {\n          text-decoration-thickness: 0.125rem;\n        }\n      </style>\n      <section class=\"universal-header\">\n        <div class=\"universal-header__inner-container\">\n          <a class=\"universal-header__clickable-element\" href=\"https://lib.umich.edu/\" id=${this.generateSlug(\"University of Michigan Library\")}>\n            <span id=\"universal-header__link-text\">University of Michigan</span>\n            <abbr aria-labelledby=\"universal-header__link-text\" title=\"University of Michigan\">U-M</abbr>\n            Library\n          </a>\n          <details class=\"universal-header__dropdown\">\n            <summary class=\"universal-header__clickable-element\">\n              <span>Explore</span>\n              <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" height=\"0.58em\" width=\"0.58em\" focusable=\"false\" role=\"presentation\" fill=\"currentColor\">\n                <path d=\"M14.1,3.1L8,9.2L1.9,3.1L0,4.9l8,8l8-8L14.1,3.1z\"/>\n              </svg>\n            </summary>\n            <div class=\"universal-header__dropdown-content\">\n              ${await this.displayNavigation()}\n            </div>\n          </details>\n        </div>\n      </section>\n      ${await this.displayWarning()}\n    `;let e=this.shadow.querySelector(\"details\"),n=t=>{e.open&&t&&e.removeAttribute(\"open\")};document.addEventListener(\"keydown\",t=>{n(t.key===\"Escape\")}),[\"click\",\"focusin\"].forEach(t=>{document.addEventListener(t,a=>{n(a.target!==document.querySelector(\"m-universal-header\"))}),this.shadow.addEventListener(t,a=>{n(a.target!==e&&!e.contains(a.target))})})}};var m=class extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:\"open\"}),this.to=\"/\",this.variant=\"light\"}static get observedAttributes(){return[\"name\",\"to\",\"variant\"]}attributeChangedCallback(e,n,t){n!==t&&(e===\"name\"&&(this[e]=t),e===\"to\"&&(this.to=[\"https://\",\"http://\"].some(a=>t.startsWith(a))?t:\"/\"),this.variant=t===\"dark\"?t:this.variant)}variantColors(e=\"white\",n=\"var(--color-blue-400)\"){return this.variant===\"dark\"?e:n}displayName(){return this.name?`\n      <span class=\"website-header__website-name\">\n        ${this.name}\n      </span>\n    `:\"\"}connectedCallback(){this.shadow.innerHTML=`\n      <style>\n        *,\n        *::before,\n        *::after {\n          box-sizing: border-box;\n        }\n        .website-header {\n          background-color: ${this.variantColors(\"var(--color-blue-400)\",\"white\")};\n          color: ${this.variantColors(\"white\",\"var(--color-neutral-400)\")};\n          font-family: var(--font-base-family);\n          padding-bottom: 1rem;\n          padding-top: 1rem;\n        }\n        .website-header__inner-container,\n        .website-header__logo-container,\n        .website-header__lib-link {\n          align-items: center;\n          display: flex;\n          flex-wrap: wrap;\n          gap: 0.5rem 1rem;\n          line-height: 1.25;\n        }\n        .website-header__inner-container {\n          margin: 0 auto;\n          max-width: 1280px;\n          padding: 0 1rem;\n          width: 100%;\n        }\n        @media (min-width: 52rem) {\n          .website-header__inner-container {\n            padding: 0 2.5rem;\n          }\n        }\n        .website-header__logo-container {\n          flex-grow: 1;\n        }\n        .website-header__lib-link svg {\n          margin: 0.25rem 0;\n          max-width: 100%;\n        }\n        .website-header__lib-link,\n        .website-header__website-name{\n          color: ${this.variantColors(\"white\",\"var(--color-neutral-300)\")};\n        }\n        .website-header__website-name {\n          font-size: var(--text-medium);\n          letter-spacing: 0.5px;\n          text-transform: uppercase;\n        }\n        .website-header__lib-link:not(:hover){\n          text-decoration: none;\n        }\n      </style>\n      <header class=\"website-header\">\n        <div class=\"website-header__inner-container\">\n          <div class=\"website-header__logo-container\">\n            <a href=\"${this.to}\" class=\"website-header__lib-link\">\n              <svg viewBox=\"0 0 199 30\" xmlns=\"http://www.w3.org/2000/svg\" height=\"34px\" width=\"224px\" focusable=\"false\" role=\"img\" aria-label=\"University of Michigan Library\">\n                <title>University of Michigan Library</title>\n                <g fill=\"none\" fill-rule=\"evenodd\">\n                  <g fill-rule=\"nonzero\">\n                    <polyline fill=\"var(--color-maize-400)\" points=\"20.9572917 24.7441667 12.3733333 13.0122917 12.3733333 21.5458333 15.7866667 21.5458333 15.7866667 29.973125 0 29.973125 0 21.5458333 3.19875 21.5458333 3.19875 8.425625 0 8.425625 0 0 12.4010417 0 20.9572917 11.8164583 29.5135417 0 41.9116667 0 41.9116667 8.425625 38.7110417 8.425625 38.7110417 21.5458333 41.9116667 21.5458333 41.9116667 29.973125 26.1270833 29.973125 26.1270833 21.5458333 29.5377083 21.5458333 29.5377083 13.0122917 20.9572917 24.7441667\"></polyline>\n                    <polyline fill=\"${this.variantColors()}\" points=\"58.6452083 30 58.6452083 0.0420833333 62.461875 0.0420833333 62.461875 26.680625 73.4579167 26.680625 73.4579167 30 58.6452083 30\"></polyline>\n                    <polygon fill=\"${this.variantColors()}\" points=\"77.9570833 29.9875 81.773125 29.9875 81.773125 0.0420833333 77.9570833 0.0420833333\"></polygon>\n                    <path d=\"M91.0308333,26.680625 L96.425,26.680625 C100.491042,26.680625 101.944583,23.775625 101.944583,21.5777083 C101.944583,16.8052083 98.9972917,15.9754167 95.0983333,15.9754167 L91.0308333,15.9754167 L91.0308333,26.680625 Z M91.0308333,12.655625 L96.5916667,12.655625 C99.5779167,12.6139583 101.032083,10.7891667 101.032083,7.884375 C101.032083,5.395 99.6195833,3.36145833 96.425,3.36145833 L91.0308333,3.36145833 L91.0308333,12.655625 Z M87.2135417,30 L87.2135417,0.0420833333 L96.9652083,0.0420833333 C101.114375,0.0420833333 102.524792,1.4525 103.644792,3.11291667 C104.683542,4.73125 104.848958,6.51583333 104.848958,7.095625 C104.848958,10.83 103.562917,13.320625 99.7033333,14.1910417 L99.7033333,14.399375 C103.978333,14.8972917 105.844583,17.4695833 105.844583,21.5777083 C105.844583,29.2535417 100.242708,30 96.8402083,30 L87.2135417,30 Z\" fill=\"${this.variantColors()}\"></path>\n                    <path d=\"M113.772708,12.9047917 L119.500625,12.9047917 C122.239792,12.9047917 123.5675,10.5397917 123.5675,7.925 C123.5675,5.76791667 122.485833,3.36145833 119.540625,3.36145833 L113.772708,3.36145833 L113.772708,12.9047917 Z M113.772708,16.2245833 L113.772708,30 L109.956458,30 L109.956458,0.0420833333 L120.28875,0.0420833333 C125.6,0.0420833333 127.465625,3.77729167 127.465625,7.51104167 C127.465625,11.0377083 125.515833,13.7347917 121.988125,14.3575 L121.988125,14.44 C125.431042,14.9795833 126.675417,16.14125 126.885,22.1570833 C126.927083,23.4435417 127.341042,28.1325 127.924167,30 L123.940833,30 C122.860417,27.9254167 123.108542,24.025625 122.777083,20.041875 C122.485833,16.3908333 119.540625,16.2245833 118.25625,16.2245833 L113.772708,16.2245833 Z\" fill=\"${this.variantColors()}\"></path>\n                    <path d=\"M143.173333,3.56770833 L143.09,3.56770833 L138.401042,19.5439583 L147.989375,19.5439583 L143.173333,3.56770833 Z M140.848333,0.0420833333 L145.703958,0.0420833333 L155.45625,30 L151.181875,30 L149.025417,22.8620833 L137.448958,22.8620833 L135.207292,30 L131.349167,30 L140.848333,0.0420833333 Z\" fill=\"${this.variantColors()}\"></path>\n                    <path d=\"M162.97875,12.9047917 L168.704583,12.9047917 C171.442292,12.9047917 172.769167,10.5397917 172.769167,7.925 C172.769167,5.76791667 171.69125,3.36145833 168.745625,3.36145833 L162.97875,3.36145833 L162.97875,12.9047917 Z M162.97875,16.2245833 L162.97875,30 L159.159375,30 L159.159375,0.0420833333 L169.491667,0.0420833333 C174.801667,0.0420833333 176.670625,3.77729167 176.670625,7.51104167 C176.670625,11.0377083 174.720208,13.7347917 171.192708,14.3575 L171.192708,14.44 C174.636458,14.9795833 175.881042,16.14125 176.087917,22.1570833 C176.1325,23.4435417 176.546458,28.1325 177.125833,30 L173.142083,30 C172.064583,27.9254167 172.314583,24.025625 171.981875,20.041875 C171.69125,16.3908333 168.745625,16.2245833 167.459583,16.2245833 L162.97875,16.2245833 Z\" fill=\"${this.variantColors()}\"></path>\n                    <polyline fill=\"${this.variantColors()}\" points=\"194.878958 0.0420833333 198.737917 0.0420833333 190.562708 18.5897917 190.562708 30 186.744583 30 186.744583 18.5897917 178.695208 0.0420833333 182.968542 0.0420833333 188.82 14.5227083 194.878958 0.0420833333\"></polyline>\n                    <polygon fill=\"${this.variantColors()}\" points=\"50.1395834 29.9875 51.19625 29.9875 51.19625 0 50.1395834 0\"></polygon>\n                  </g>\n                </g>\n              </svg>\n              ${this.displayName()}\n            </a>\n          </div>\n          <slot></slot>\n        </div>\n      </header>\n    `}};window.customElements.define(\"m-banner\",o);window.customElements.define(\"m-callout\",l);window.customElements.define(\"m-chat\",d);window.customElements.define(\"m-skip-links\",c);window.customElements.define(\"m-universal-header\",h);window.customElements.define(\"m-website-header\",m);})();\n"]}