solid-ui 3.1.3-7 → 3.1.3-8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
- package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
- package/dist/breakpoints.css +1 -0
- package/dist/breakpoints.css.d.ts +1 -0
- package/dist/chunks/{account-BZ2rYQhV.js → account-jSZP2tZ5.js} +72 -56
- package/dist/chunks/account-jSZP2tZ5.js.map +1 -0
- package/dist/chunks/{auth-RHyQ2iIl.js → auth-CZOEEeJ8.js} +15 -15
- package/dist/chunks/{auth-RHyQ2iIl.js.map → auth-CZOEEeJ8.js.map} +1 -1
- package/dist/chunks/{avatar-Jx8xm2Op.js → avatar-BugsRJZg.js} +2 -2
- package/dist/chunks/{avatar-Jx8xm2Op.js.map → avatar-BugsRJZg.js.map} +1 -1
- package/dist/chunks/{footer-D64T6XLO.js → footer-kVa_uMeQ.js} +3 -3
- package/dist/chunks/{footer-D64T6XLO.js.map → footer-kVa_uMeQ.js.map} +1 -1
- package/dist/chunks/{guard-CjUBGVDk.js → guard-Cml6dHTv.js} +2 -2
- package/dist/chunks/{guard-CjUBGVDk.js.map → guard-Cml6dHTv.js.map} +1 -1
- package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js → headerFooterHelpers-BiZ6X10e.js} +15 -15
- package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js.map → headerFooterHelpers-BiZ6X10e.js.map} +1 -1
- package/dist/chunks/{jsonld-DRZuoyoU.js → jsonld-Cd-ZhJmZ.js} +2 -2
- package/dist/chunks/{jsonld-DRZuoyoU.js.map → jsonld-Cd-ZhJmZ.js.map} +1 -1
- package/dist/chunks/{login-button-DPeMi00d.js → login-button-pe1-DVNZ.js} +2 -2
- package/dist/chunks/{login-button-DPeMi00d.js.map → login-button-pe1-DVNZ.js.map} +1 -1
- package/dist/chunks/{logout-button-CbiLE7jO.js → logout-button-C5dtQiBB.js} +2 -2
- package/dist/chunks/{logout-button-CbiLE7jO.js.map → logout-button-C5dtQiBB.js.map} +1 -1
- package/dist/chunks/{menu-item-Ck0l-uEI.js → menu-item-CWg-eS4V.js} +7 -5
- package/dist/chunks/menu-item-CWg-eS4V.js.map +1 -0
- package/dist/chunks/{provider-C4eSzopG.js → provider-DRxSExO6.js} +2 -2
- package/dist/chunks/{provider-C4eSzopG.js.map → provider-DRxSExO6.js.map} +1 -1
- package/dist/chunks/{signup-button-BfIxbpwa.js → signup-button-QvYELqb6.js} +2 -2
- package/dist/chunks/{signup-button-BfIxbpwa.js.map → signup-button-QvYELqb6.js.map} +1 -1
- package/dist/chunks/solid-emblem-BDzhMTjL.js +185 -0
- package/dist/chunks/solid-emblem-BDzhMTjL.js.map +1 -0
- package/dist/chunks/{solid-logic.esm-T70qfHAr.js → solid-logic.esm-BhVcNu8u.js} +7 -28
- package/dist/chunks/{solid-logic.esm-T70qfHAr.js.map → solid-logic.esm-BhVcNu8u.js.map} +1 -1
- package/dist/chunks/{src-Bx4GAnWq.js → src-DYvSns7X.js} +2375 -2351
- package/dist/chunks/src-DYvSns7X.js.map +1 -0
- package/dist/components/account/Account.cjs.js +7 -2
- package/dist/components/account/Account.cjs.js.map +1 -1
- package/dist/components/account/Account.d.ts +8 -1
- package/dist/components/account/Account.d.ts.map +1 -1
- package/dist/components/account/Account.esm.js +64 -48
- package/dist/components/account/Account.esm.js.map +1 -1
- package/dist/components/account/Account.stories.d.ts +3 -8
- package/dist/components/account/Account.stories.d.ts.map +1 -1
- package/dist/components/account/index.cjs.js.map +1 -1
- package/dist/components/account/index.d.ts +2 -2
- package/dist/components/account/index.d.ts.map +1 -1
- package/dist/components/account/index.esm.js.map +1 -1
- package/dist/components/account.js +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/footer.js +1 -1
- package/dist/components/guard.js +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.esm.js +2 -2
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button.js +1 -1
- package/dist/components/menu-item/MenuItem.cjs.js +5 -3
- package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.esm.js +5 -3
- package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
- package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
- package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
- package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
- package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
- package/dist/components/menu-item.js +1 -1
- package/dist/components/provider.js +1 -1
- package/dist/components/signup-button.js +1 -1
- package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
- package/dist/components/solid-emblem/index.cjs.js +2 -0
- package/dist/components/solid-emblem/index.cjs.js.map +1 -0
- package/dist/components/solid-emblem/index.d.ts +4 -0
- package/dist/components/solid-emblem/index.d.ts.map +1 -0
- package/dist/components/solid-emblem/index.esm.js +7 -0
- package/dist/components/solid-emblem/index.esm.js.map +1 -0
- package/dist/components/solid-emblem.js +2 -0
- package/dist/components.js +11 -11
- package/dist/index.js +4 -5
- package/dist/lib/forms/rdfHelper.d.ts +4 -0
- package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
- package/dist/loader.js +4 -5
- package/dist/solid-ui.js +78 -1169
- package/dist/solid-ui.min.js +78 -1169
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/theme.css +1 -1
- package/package.json +7 -2
- package/dist/chunks/account-BZ2rYQhV.js.map +0 -1
- package/dist/chunks/header-COBaJDdB.js +0 -1486
- package/dist/chunks/header-COBaJDdB.js.map +0 -1
- package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
- package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
- package/dist/chunks/menu-item-Ck0l-uEI.js.map +0 -1
- package/dist/chunks/src-Bx4GAnWq.js.map +0 -1
- package/dist/components/header/index.cjs.js +0 -1
- package/dist/components/header/index.d.ts +0 -2
- package/dist/components/header/index.d.ts.map +0 -1
- package/dist/components/header/index.esm.js +0 -3
- package/dist/components/header.js +0 -2
- package/dist/lib/features.cjs.js +0 -2
- package/dist/lib/features.cjs.js.map +0 -1
- package/dist/lib/features.d.ts +0 -8
- package/dist/lib/features.d.ts.map +0 -1
- package/dist/lib/features.esm.js +0 -6
- package/dist/lib/features.esm.js.map +0 -1
- package/dist/v2/components/actions/button/Button.d.ts +0 -97
- package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
- package/dist/v2/components/actions/button/index.d.ts +0 -8
- package/dist/v2/components/actions/button/index.d.ts.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
- package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.esm.js +0 -8
- package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.esm.js +0 -8
- package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
- package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/index.d.ts +0 -3
- package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
- package/dist/v2/components/forms/select/Select.d.ts +0 -68
- package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
- package/dist/v2/components/forms/select/index.d.ts +0 -3
- package/dist/v2/components/forms/select/index.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
- package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
- package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
- package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
- package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.cjs.js +0 -625
- package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/Header.d.ts +0 -160
- package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.esm.js +0 -873
- package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.cjs.js +0 -2
- package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/index.d.ts +0 -4
- package/dist/v2/components/layout/header/index.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.esm.js +0 -8
- package/dist/v2/components/layout/header/index.esm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.cjs.js","names":[],"sources":["../../../../../src/v2/components/layout/header/Header.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { icons } from '../../../../lib/iconBase'\nimport { authSession, authn, performServerSideLogout } from 'solid-logic'\nimport '../../auth/loginButton/index'\nimport '../../auth/signupButton/index'\nimport { ifDefined } from 'lit/directives/if-defined.js'\n\nimport '@/components/account'\nimport '@/components/provider'\nimport Features from '../../../../lib/features'\n\nconst DEFAULT_HELP_MENU_ICON = ''\nconst DEFAULT_SOLID_ICON_URL = 'https://solidproject.org/assets/img/solid-emblem.svg'\nconst DEFAULT_SIGNUP_URL = 'https://solidproject.org/get_a_pod'\nconst DEFAULT_LOGGEDIN_MENU_BUTTON_AVATAR = icons.iconBase + 'emptyProfileAvatar.png'\n\nasync function clearPersistedAuthState (): Promise<void> {\n if (typeof window === 'undefined') {\n return\n }\n\n const explicitKeys = ['loginIssuer', 'preLoginRedirectHash']\n for (const key of explicitKeys) {\n window.localStorage.removeItem(key)\n window.sessionStorage.removeItem(key)\n }\n\n if (typeof indexedDB === 'undefined') {\n return\n }\n\n const databases = ['soidc', 'solid-client-authn-store', 'solid-client-authn']\n for (const dbName of databases) {\n await new Promise<void>((resolve) => {\n try {\n const request = indexedDB.deleteDatabase(dbName)\n request.onsuccess = () => resolve()\n request.onerror = () => resolve()\n request.onblocked = () => resolve()\n } catch (_err) {\n resolve()\n }\n })\n }\n}\n\nexport type HeaderAuthState = 'logged-out' | 'logged-in'\n\nexport type HeaderMenuItem = {\n label: string\n url?: string\n target?: string\n action?: string\n icon?: string\n}\n\nexport type HeaderAccountMenuItem = HeaderMenuItem & {\n avatar?: string\n webid?: string\n}\n\nexport class Header extends LitElement {\n static properties = {\n logo: { type: String, reflect: true },\n helpIcon: { type: String, attribute: 'help-icon', reflect: true },\n layout: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n brandLink: { type: String, attribute: 'brand-link', reflect: true },\n authState: { type: String, attribute: 'auth-state', reflect: true },\n loginAction: { type: Object, attribute: false },\n signUpAction: { type: Object, attribute: false },\n accountMenu: { type: Array, attribute: false },\n logoutLabel: { type: String, attribute: 'logout-label', reflect: true },\n logoutIcon: { type: String, attribute: 'logout-icon', reflect: true },\n accountIcon: { type: String, attribute: 'account-icon', reflect: true },\n accountAvatar: { type: String, attribute: 'account-avatar', reflect: true },\n accountAvatarFallback: { type: String, attribute: 'account-avatar-fallback', reflect: true },\n loginIcon: { type: String, attribute: 'login-icon', reflect: true },\n signUpIcon: { type: String, attribute: 'sign-up-icon', reflect: true },\n helpMenuList: { type: Array },\n accountMenuOpen: { state: true },\n helpMenuOpen: { state: true },\n hasSlottedAccountMenu: { state: true },\n hasSlottedHelpMenu: { state: true },\n authResolved: { state: true }\n }\n\n static styles = css`\n :host { /* default theme */\n display: block;\n --header-bg: var(--color-header-row-bg, #332746);\n --header-text: var(--color-header-text, #ffffff);\n --header-border: var(--color-border, #efecf3);\n --header-line: var(--color-header-menu-separator-line, #5e546d);\n --header-link: var(--color-text-heading, #000000);\n --header-menu-item-hover: var(--color-header-menu-item-hover, #e6dcff);\n --header-menu-item-selected: var(--color-header-menu-item-selected, #cbb9ff);\n --header-menu-bg: var(--color-menu-bg, #f6f5f9);\n --header-menu-loggedin-bg: var(--color-header-menu-loggedin-bg, #5e546d);\n --header-menu-text: var(--color-menu-item-text, #654d6c);\n --header-border-radius: var(--border-radius-sm, 0.2rem);\n --header-button-bg: var(--color-menu-bg, #ffffff);\n --header-button-text: var(--color-header-button-text, #0F172B);\n --header-button-detail-text: var(--color-header-button-detail-text, #99A1AF);\n --header-shadow: var(--color-header-shadow, 2px 6px 10px 0 rgba(0, 0, 0, 0.4), 2px 8px 24px 0 rgba(0, 0, 0, 0.19));\n font-family: var(--font-family-base, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif);\n }\n\n /* for now light and dark are the same */\n :host([theme='dark']) {\n display: block;\n --header-bg: var(--color-header-row-bg, #332746);\n --header-text: var(--color-header-text, #ffffff);\n --header-border: var(--color-border, #efecf3);\n --header-line: var(--color-header-menu-separator-line, #5e546d);\n --header-link: var(--color-text-heading, #000000);\n --header-menu-item-hover: var(--color-header-menu-item-hover, #e6dcff);\n --header-menu-item-selected: var(--color-header-menu-item-selected, #cbb9ff);\n --header-menu-bg: var(--color-menu-bg, #f6f5f9);\n --header-menu-loggedin-bg: var(--color-header-menu-loggedin-bg, #5e546d);\n --header-menu-text: var(--color-menu-item-text, #654d6c);\n --header-border-radius: var(--border-radius-sm, 0.2rem);\n --header-button-bg: var(--color-menu-bg, #ffffff);\n --header-button-text: var(--color-header-button-text, #0f172a);\n --header-button-detail-text: var(--color-header-button-detail-text, #878192);\n --header-icon-filter: invert(1) brightness(1.3); /* special way to invert SVG color of icons, from white to black */\n --header-shadow: var(--color-header-shadow, 2px 6px 10px 0 rgba(0, 0, 0, 0.4), 2px 8px 24px 0 rgba(0, 0, 0, 0.19));\n font-family: var(--font-family-base, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif);\n }\n\n :host([layout='mobile']) .headerInner {\n flex-wrap: wrap;\n text-align: center;\n gap: 0.5rem;\n }\n\n .headerInner {\n display: flex;\n align-items: center;\n justify-content: space-between;\n background: var(--header-bg);\n color: var(--header-text);\n padding: 0 1.5rem;\n height: 3.75rem;\n }\n\n ::slotted([slot='navigation-toggle']) {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n margin-right: 0.75rem;\n }\n\n :host([layout='desktop']) ::slotted([slot='navigation-toggle']) {\n display: none !important;\n }\n\n .brand {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n text-decoration: none;\n color: inherit;\n }\n\n .brand-not-displayed {\n display: none;\n }\n\n .brand img {\n height: 50px;\n width: 55px;\n object-fit: contain;\n }\n\n .menu {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n margin-left: auto;\n }\n\n .auth-actions {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n }\n\n .auth-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n min-height: 2.25rem;\n padding: 0.5rem 0.875rem;\n border: 1px solid var(--header-border);\n border-radius: 999px;\n background: var(--header-menu-bg);\n color: var(--header-button-text);\n cursor: pointer;\n font: inherit;\n line-height: 1;\n text-decoration: none;\n box-sizing: border-box;\n transition: border-color 0.2s ease, transform 0.2s ease;\n }\n\n .auth-button:hover {\n border-color: var(--header-menu-item-hover);\n }\n\n .auth-button:active {\n transform: translateY(1px);\n }\n\n .auth-button-sign-up {\n background: color-mix(in srgb, var(--header-menu-bg) 78%, var(--header-menu-item-selected) 22%);\n }\n\n .header-menu-separator {\n background: var(--header-line);\n width: 1px;\n height: 2.3rem;\n }\n\n .account-menu-container {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .account-menu-trigger {\n display: inline-flex;\n align-items: center;\n gap: 0.625rem;\n min-height: 2.5rem;\n border: 1px solid var(--header-menu-loggedin-bg);\n border-radius: 999px;\n background: var(--header-menu-loggedin-bg);\n color: var(--header-button-text);\n cursor: pointer;\n font: inherit;\n line-height: 1;\n }\n\n :host([layout='mobile']) .account-menu-trigger {\n gap: 0;\n min-height: auto;\n padding: 0;\n border: 1.5px solid var(--header-border);\n background: var(--header-menu-loggedin-bg);\n }\n\n :host([layout='mobile']) .account-menu-trigger-label {\n display: none;\n }\n\n .account-menu-trigger:disabled {\n cursor: default;\n opacity: 0.7;\n }\n\n .account-menu-trigger-icon {\n width: 1rem;\n height: 1rem;\n object-fit: contain;\n flex-shrink: 0;\n }\n\n .account-avatar,\n .account-menu-avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n background: color-mix(in srgb, var(--header-bg) 18%, #ded8e7 82%);\n color: var(--header-button-text);\n font-size: 0.75rem;\n font-weight: 600;\n text-transform: uppercase;\n }\n\n .account-avatar {\n width: 1.75rem;\n height: 1.75rem;\n border-radius: 999px;\n border: 1.5px solid var(--header-border);\n }\n\n .account-menu-avatar {\n width: 2rem;\n height: 2rem;\n border-radius: 0.5rem;\n }\n\n .account-avatar img,\n .account-menu-avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n .account-avatar-img {\n width: 1.75rem;\n height: 1.75rem;\n border-radius: 999px;\n object-fit: cover;\n background-color: var(--header-border);\n }\n\n .account-dropdown {\n position: absolute;\n top: calc(100% + 0.9rem);\n right: 0;\n min-width: 15rem;\n padding: 0.5rem;\n background: var(--header-button-bg);\n border: 1px solid var(--header-border);\n border-radius: var(--header-border-radius);\n box-shadow: var(--header-shadow);\n z-index: 10;\n }\n\n .account-dropdown[hidden] {\n display: none;\n }\n\n .account-menu-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .account-menu-item-link,\n .account-menu-item-button,\n ::slotted([slot='account-menu']) {\n display: flex;\n align-items: center;\n gap: 0.625rem;\n width: 100%;\n box-sizing: border-box;\n color: var(--header-link);\n text-decoration: none;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 10px;\n padding: 0.5rem;\n cursor: pointer;\n font: inherit;\n text-align: left;\n }\n\n .account-menu-item-link:hover,\n .account-menu-item-button:hover {\n color: var(--header-link);\n background: var(--header-menu-item-hover);\n border-color: var(--header-menu-item-hover);\n }\n\n .account-menu-item-link:active,\n .account-menu-item-button:active {\n color: var(--header-link);\n background: var(--header-menu-item-selected);\n border-color: var(--header-menu-item-selected);\n transform: translateY(1px);\n }\n\n .account-switch {\n display: block;\n width: 100%;\n color: var(--header-menu-text);\n text-align: left;\n text-transform: uppercase;\n font-size: 80%;\n }\n\n .dropdown-menu-separator {\n display: block;\n width: calc(100% + 1rem);\n margin: 0.5rem -0.5rem;\n border: 0;\n border-top: 1px solid var(--header-border);\n }\n\n .account-menu-copy {\n display: flex;\n flex-direction: column;\n min-width: 0;\n }\n\n .account-menu-label {\n color: var(--header-button-text);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .account-menu-webid {\n color: var(--header-button-detail-text);\n font-size: 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .help-menu-container {\n position: relative;\n display: flex;\n align-items: center;\n background: transparent;\n }\n\n .help-menu-trigger {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: 0;\n background: transparent;\n cursor: pointer;\n }\n\n .help-menu-trigger:disabled {\n cursor: default;\n }\n\n .help-dropdown {\n position: absolute;\n top: calc(100% + 0.9rem);\n right: 0;\n min-width: 12rem;\n padding: 0.5rem;\n background: var(--header-button-bg);\n border: 1px solid var(--header-border);\n border-radius: var(--header-border-radius);\n box-shadow: var(--header-shadow);\n z-index: 10;\n }\n\n .help-dropdown[hidden] {\n display: none;\n }\n\n .help-dropdown-content {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .help-menu-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n }\n\n .help-menu-list a,\n .help-menu-list button,\n ::slotted([slot='help-menu']) {\n display: block;\n width: 100%;\n box-sizing: border-box;\n color: var(--header-link);\n text-decoration: none;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 4px;\n padding: 0.375rem 0.5rem;\n cursor: pointer;\n font: inherit;\n text-align: left;\n }\n\n .help-menu-list a:hover,\n .help-menu-list button:hover {\n color: var(--header-link);\n background: var(--header-menu-item-hover);\n border-color: var(--header-menu-item-hover);\n }\n\n .help-menu-list a:active,\n .help-menu-list button:active {\n color: var(--header-link);\n background: var(--header-menu-item-selected);\n border-color: var(--header-menu-item-selected);\n transform: translateY(1px);\n }\n\n ::slotted(a), ::slotted(button) {\n color: var(--header-link);\n text-decoration: none;\n background: var(--header-button-bg);\n border: 1px solid var(--header-border);\n border-radius: 4px;\n padding: 0.25rem 0.5rem;\n cursor: pointer;\n font: inherit;\n }\n\n .help-icon {\n width: 35px;\n height: 35px;\n cursor: pointer;\n }\n\n .help-text {\n color: var(--header-text, #ffffff);\n font: inherit;\n }\n\n .logout-action-icon {\n width: 16px;\n height: 16px;\n display: inline-block;\n object-fit: contain;\n margin-right: 0.5rem;\n }\n `\n\n declare logo: string\n declare helpIcon: string\n declare layout: 'desktop' | 'mobile'\n declare theme: 'light' | 'dark'\n declare brandLink: string\n declare authState: HeaderAuthState\n declare loginAction: HeaderMenuItem\n declare signUpAction: HeaderMenuItem\n declare accountMenu: HeaderAccountMenuItem[]\n declare logoutLabel: string | null\n declare logoutIcon: string\n declare accountIcon: string\n declare accountAvatar: string\n declare accountAvatarFallback: string\n declare loginIcon: string\n declare signUpIcon: string\n declare helpMenuList: HeaderMenuItem[]\n declare accountMenuOpen: boolean\n declare helpMenuOpen: boolean\n declare hasSlottedAccountMenu: boolean\n declare hasSlottedHelpMenu: boolean\n declare authResolved: boolean\n private _refreshPromise: Promise<void> | null = null\n\n private readonly handleAuthSessionChange = () => {\n this.refreshAuthStateFromSession().catch(() => {\n // Keep auth event handling resilient on transient refresh failures.\n })\n }\n\n constructor () {\n super()\n this.logo = DEFAULT_SOLID_ICON_URL\n this.helpIcon = DEFAULT_HELP_MENU_ICON\n this.layout = 'desktop'\n this.theme = 'light'\n this.brandLink = '#'\n this.authState = 'logged-out'\n this.loginAction = { label: 'Log In', action: 'login' }\n this.signUpAction = { label: 'Sign Up', action: 'sign-up', url: DEFAULT_SIGNUP_URL }\n this.accountMenu = []\n this.logoutLabel = 'Log Out'\n this.logoutIcon = ''\n this.accountIcon = '▼'\n this.accountAvatar = ''\n this.accountAvatarFallback = ''\n this.loginIcon = ''\n this.signUpIcon = ''\n this.helpMenuList = []\n this.accountMenuOpen = false\n this.helpMenuOpen = false\n this.hasSlottedAccountMenu = false\n this.hasSlottedHelpMenu = false\n this.authResolved = false\n }\n\n connectedCallback () {\n super.connectedCallback()\n document.addEventListener('click', this.handleDocumentClick)\n window.addEventListener('keydown', this.handleWindowKeydown)\n if (typeof authSession.events?.on === 'function') {\n authSession.events.on('login', this.handleAuthSessionChange)\n authSession.events.on('logout', this.handleAuthSessionChange)\n authSession.events.on('sessionRestore', this.handleAuthSessionChange)\n }\n this.refreshAuthStateFromSession().catch(() => {\n // Keep initial header render resilient on transient refresh failures.\n })\n }\n\n disconnectedCallback () {\n document.removeEventListener('click', this.handleDocumentClick)\n window.removeEventListener('keydown', this.handleWindowKeydown)\n if (typeof authSession.events?.off === 'function') {\n authSession.events.off('login', this.handleAuthSessionChange)\n authSession.events.off('logout', this.handleAuthSessionChange)\n authSession.events.off('sessionRestore', this.handleAuthSessionChange)\n }\n super.disconnectedCallback()\n }\n\n private async refreshAuthStateFromSession () {\n if (!this._refreshPromise) {\n this._refreshPromise = (async () => {\n try {\n await authn.checkUser()\n // Some auth stacks resolve session state asynchronously after first check.\n if (!authn.currentUser()) {\n await authn.checkUser()\n }\n } catch (_err) {\n // Keep rendering even if session refresh cannot complete.\n }\n })()\n }\n\n try {\n await this._refreshPromise\n } finally {\n this._refreshPromise = null\n }\n\n this.authState = authn.currentUser() ? 'logged-in' : 'logged-out'\n this.authResolved = true\n }\n\n private handleHelpMenuClick (item: HeaderMenuItem, event: MouseEvent) {\n event.preventDefault()\n this.helpMenuOpen = false\n this.dispatchEvent(new CustomEvent('help-menu-select', {\n detail: item,\n bubbles: true,\n composed: true\n }))\n if (item.url) {\n const target = item.target || '_blank'\n const features = target === '_blank' ? 'noopener,noreferrer' : undefined\n window.open(item.url, target, features)\n }\n }\n\n private handleAccountMenuClick (item: HeaderAccountMenuItem) {\n this.accountMenuOpen = false\n this.dispatchEvent(new CustomEvent('account-menu-select', {\n detail: item,\n bubbles: true,\n composed: true\n }))\n }\n\n private readonly handleDocumentClick = (event: MouseEvent) => {\n if (!event.composedPath().includes(this)) {\n this.accountMenuOpen = false\n this.helpMenuOpen = false\n }\n }\n\n private readonly handleWindowKeydown = (event: KeyboardEvent) => {\n if (event.key === 'Escape' && (this.accountMenuOpen || this.helpMenuOpen)) {\n this.accountMenuOpen = false\n this.helpMenuOpen = false\n }\n }\n\n private handleAccountSlotChange (event: Event) {\n const slot = event.target as HTMLSlotElement\n this.hasSlottedAccountMenu = slot.assignedElements({ flatten: true }).length > 0\n }\n\n private handleHelpSlotChange (event: Event) {\n const slot = event.target as HTMLSlotElement\n this.hasSlottedHelpMenu = slot.assignedElements({ flatten: true }).length > 0\n }\n\n private toggleAccountMenu (event: MouseEvent) {\n event.preventDefault()\n if (!this.hasAccountMenuItems()) return\n this.helpMenuOpen = false\n this.accountMenuOpen = !this.accountMenuOpen\n }\n\n private toggleHelpMenu (event: MouseEvent) {\n event.preventDefault()\n if (!this.hasHelpMenuItems()) return\n this.accountMenuOpen = false\n this.helpMenuOpen = !this.helpMenuOpen\n }\n\n private hasAccountMenuItems () {\n return Boolean(this.accountMenu?.length || this.hasSlottedAccountMenu || this.logoutLabel)\n }\n\n private hasHelpMenuItems () {\n return Boolean(this.helpMenuList?.length || this.hasSlottedHelpMenu)\n }\n\n private shouldRenderHelpMenu () {\n return this.layout !== 'mobile' && this.hasHelpMenuItems()\n }\n\n private renderLoggedInAvatar (avatar?: string, wrapperClass = 'account-avatar') {\n const hasAvatar = Boolean(avatar)\n const imageSrc = hasAvatar ? avatar : this.accountAvatarFallback || DEFAULT_LOGGEDIN_MENU_BUTTON_AVATAR\n const imageAlt = hasAvatar ? 'Profile Avatar' : 'Default Avatar'\n\n if (this.layout === 'mobile' && wrapperClass === 'account-avatar') {\n return html`<img class=\"account-avatar-img\" src=\"${imageSrc}\" alt=\"${imageAlt}\" />`\n }\n\n return html`\n <span class=\"${wrapperClass}\" aria-hidden=\"true\">\n <img src=\"${imageSrc}\" alt=\"${imageAlt}\" />\n </span>\n `\n }\n\n private renderLoggedOutActions () {\n return html`\n <div class=\"auth-actions\" part=\"auth-actions\">\n <slot name=\"login-action\">\n <solid-ui-login-button\n label=\"${this.loginAction.label}\"\n icon=${ifDefined(this.layout !== 'mobile' ? (this.loginIcon || this.loginAction.icon) : undefined)}\n layout=\"${this.layout}\"\n theme=\"${this.theme}\"\n part=\"login-action\"\n @login-success=\"${() => this.handleLoginSuccess()}\"\n ></solid-ui-login-button>\n </slot>\n <slot name=\"sign-up-action\">\n <solid-ui-signup-button\n label=\"${this.signUpAction.label}\"\n signup-url=\"${ifDefined(this.signUpAction.url)}\"\n layout=\"${this.layout}\"\n .icon=${ifDefined(this.layout !== 'mobile' ? (this.signUpIcon || this.signUpAction.icon) : undefined)}\n theme=\"${this.theme}\"\n part=\"sign-up-action\"\n ></solid-ui-signup-button>\n </slot>\n </div>\n `\n }\n\n private async handleLoginSuccess () {\n await this.refreshAuthStateFromSession()\n this.dispatchEvent(new CustomEvent('auth-action-select', {\n detail: { role: 'login' },\n bubbles: true,\n composed: true\n }))\n }\n\n private async handleLogout () {\n this.accountMenuOpen = false\n const issuer = window.localStorage.getItem('loginIssuer') || ''\n\n try {\n await authSession.logout()\n } catch (_err) {\n // logout errors are non-fatal — proceed to clear state\n }\n\n await clearPersistedAuthState()\n\n const redirectedToServerLogout = await performServerSideLogout({\n issuer,\n postLogoutRedirectPath: '/'\n })\n if (redirectedToServerLogout) {\n return\n }\n\n await this.refreshAuthStateFromSession()\n this.dispatchEvent(new CustomEvent('logout-select', {\n detail: { role: 'logout' },\n bubbles: true,\n composed: true\n }))\n }\n\n private renderAccountMenuItem (item: HeaderAccountMenuItem) {\n const content = html`\n ${this.renderLoggedInAvatar(item.avatar, 'account-menu-avatar')}\n <span class=\"account-menu-copy\">\n <span class=\"account-menu-label\">${item.label}</span>\n ${item.webid && this.layout !== 'mobile' ? html`<span class=\"account-menu-webid\">${item.webid}</span>` : ''}\n </span>\n `\n\n if (item.url) {\n return html`\n <a\n class=\"account-menu-item-link\"\n href=\"${item.url}\"\n @click=\"${() => this.handleAccountMenuClick(item)}\"\n part=\"account-menu-item\"\n role=\"menuitem\"\n >\n ${content}\n </a>\n `\n }\n\n return html`\n <button\n class=\"account-menu-item-button\"\n type=\"button\"\n @click=\"${() => this.handleAccountMenuClick(item)}\"\n part=\"account-menu-item\"\n role=\"menuitem\"\n >\n ${content}\n </button>\n `\n }\n\n private renderLoggedInActions () {\n return html`\n <div class=\"account-menu-container\" part=\"account-menu-container\">\n <slot name=\"account-trigger\">\n <button\n id=\"accountMenuTrigger\"\n class=\"account-menu-trigger\"\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded=\"${this.accountMenuOpen ? 'true' : 'false'}\"\n ?disabled=\"${!this.hasAccountMenuItems()}\"\n @click=\"${(e: MouseEvent) => this.toggleAccountMenu(e)}\"\n part=\"account-menu-trigger\"\n >\n ${this.renderLoggedInAvatar(this.accountAvatar)}\n ${this.layout !== 'mobile' && this.accountIcon\n? html`\n <img class=\"account-menu-trigger-icon\" src=\"${this.accountIcon}\" alt=\"\" aria-hidden=\"true\" />`\n: ''}\n </button>\n </slot>\n\n <nav\n id=\"accountMenu\"\n class=\"account-dropdown\"\n role=\"menu\"\n ?inert=\"${!this.accountMenuOpen || !this.hasAccountMenuItems()}\"\n ?hidden=\"${!this.accountMenuOpen || !this.hasAccountMenuItems()}\"\n part=\"account-dropdown\"\n >\n <slot name=\"account-switch\" class=\"account-switch\">Switch account</slot>\n <hr class=\"dropdown-menu-separator\" />\n <slot name=\"account-menu\" @slotchange=\"${(e: Event) => this.handleAccountSlotChange(e)}\"></slot>\n ${this.accountMenu && this.accountMenu.length\n ? html`\n <ul class=\"account-menu-list\">\n ${this.accountMenu.map((item: HeaderAccountMenuItem) => html`\n <li>${this.renderAccountMenuItem(item)}</li>\n `)}\n </ul>\n `\n : ''}\n ${this.logoutLabel\n ? html`\n <hr class=\"dropdown-menu-separator\" />\n <button\n class=\"account-menu-item-button\"\n type=\"button\"\n @click=\"${() => this.handleLogout()}\"\n part=\"logout-action\"\n role=\"menuitem\"\n >\n ${this.logoutIcon && this.layout !== 'mobile'\n ? html`<img class=\"logout-action-icon\" src=\"${this.logoutIcon}\" alt=\"\" aria-hidden=\"true\" part=\"logout-action-icon\" />`\n : ''}\n ${this.logoutLabel}\n </button>\n `\n : ''}\n </nav>\n </div>\n `\n }\n\n private renderUserArea () {\n if (Features.DESIGN_SYSTEM_HEADER_ACCOUNT) {\n return html`\n <solid-ui-provider>\n <solid-ui-account></solid-ui-account>\n </solid-ui-provider>\n `\n }\n\n if (!this.authResolved) {\n return html`<div class=\"auth-actions\" part=\"auth-actions\"></div>`\n }\n\n if (this.authState === 'logged-out') {\n return this.renderLoggedOutActions()\n }\n\n return this.renderLoggedInActions()\n }\n\n protected firstUpdated () {\n const brandLink = this.shadowRoot?.getElementById('brandLink')\n if (brandLink) {\n brandLink.classList.toggle('brand-not-displayed', this.layout === 'mobile')\n }\n }\n\n protected updated (changedProperties: Map<string, unknown>) {\n if (changedProperties.has('layout')) {\n const brandLink = this.shadowRoot?.getElementById('brandLink')\n if (brandLink) {\n brandLink.classList.toggle('brand-not-displayed', this.layout === 'mobile')\n }\n }\n }\n\n render () {\n return html`\n <div class=\"headerInner\">\n <slot name=\"navigation-toggle\"></slot>\n <a\n id=\"brandLink\"\n class=\"brand\"\n href=\"${this.brandLink}\"\n part=\"brand\"\n >\n <img id=\"brandImg\" src=\"${this.logo}\" alt=\"Logo\" part=\"logo\" />\n </a>\n\n <div class=\"menu\" part=\"menu\">\n ${this.renderUserArea()}\n\n ${this.shouldRenderHelpMenu()\n ? html`\n <div class=\"header-menu-separator\" />`\n : ''}\n\n ${this.shouldRenderHelpMenu()\n ? html`\n <div class=\"help-menu-container\" part=\"help-menu-container\">\n <button\n id=\"helpMenuTrigger\"\n class=\"help-menu-trigger\"\n type=\"button\"\n aria-haspopup=\"menu\"\n aria-expanded=\"${this.helpMenuOpen ? 'true' : 'false'}\"\n ?disabled=\"${!this.hasHelpMenuItems()}\"\n @click=\"${(e: MouseEvent) => this.toggleHelpMenu(e)}\"\n part=\"help-menu-trigger\"\n >\n ${this.helpIcon\n ? html`<img id=\"helpIcon\" class=\"help-icon\" src=\"${this.helpIcon}\" alt=\"Help\" part=\"help-icon\" />`\n : html`<span class=\"help-text\" part=\"help-text\">Help</span>`}\n </button>\n\n <nav\n id=\"helpMenu\"\n class=\"help-dropdown\"\n role=\"menu\"\n ?inert=\"${!this.helpMenuOpen || !this.hasHelpMenuItems()}\"\n ?hidden=\"${!this.helpMenuOpen || !this.hasHelpMenuItems()}\"\n part=\"help-dropdown\"\n >\n <div class=\"help-dropdown-content\" @click=\"${() => { this.helpMenuOpen = false }}\">\n <slot name=\"help-menu\" @slotchange=\"${(e: Event) => this.handleHelpSlotChange(e)}\"></slot>\n ${this.helpMenuList && this.helpMenuList.length\n ? html`\n <ul class=\"help-menu-list\">\n ${this.helpMenuList.map((item: HeaderMenuItem) => html`\n <li>\n ${item.url\n ? html`\n <a\n href=\"${item.url}\"\n target=\"${item.target || '_blank'}\"\n rel=\"${ifDefined((item.target || '_blank') === '_blank' ? 'noopener noreferrer' : undefined)}\"\n @click=\"${(e: MouseEvent) => this.handleHelpMenuClick(item, e)}\"\n part=\"help-menu-item\"\n role=\"menuitem\"\n >\n ${item.label}\n </a>\n `\n : html`\n <button\n type=\"button\"\n @click=\"${(e: MouseEvent) => this.handleHelpMenuClick(item, e)}\"\n part=\"help-menu-item\"\n role=\"menuitem\"\n >\n ${item.label}\n </button>\n `}\n </li>\n `)}\n </ul>\n `\n : ''}\n </div>\n </nav>\n </div>`\n : ''}\n </div>\n </div>\n `\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
export type HeaderAuthState = 'logged-out' | 'logged-in';
|
|
3
|
-
export type HeaderMenuItem = {
|
|
4
|
-
label: string;
|
|
5
|
-
url?: string;
|
|
6
|
-
target?: string;
|
|
7
|
-
action?: string;
|
|
8
|
-
icon?: string;
|
|
9
|
-
};
|
|
10
|
-
export type HeaderAccountMenuItem = HeaderMenuItem & {
|
|
11
|
-
avatar?: string;
|
|
12
|
-
webid?: string;
|
|
13
|
-
};
|
|
14
|
-
export declare class Header extends LitElement {
|
|
15
|
-
static properties: {
|
|
16
|
-
logo: {
|
|
17
|
-
type: StringConstructor;
|
|
18
|
-
reflect: boolean;
|
|
19
|
-
};
|
|
20
|
-
helpIcon: {
|
|
21
|
-
type: StringConstructor;
|
|
22
|
-
attribute: string;
|
|
23
|
-
reflect: boolean;
|
|
24
|
-
};
|
|
25
|
-
layout: {
|
|
26
|
-
type: StringConstructor;
|
|
27
|
-
reflect: boolean;
|
|
28
|
-
};
|
|
29
|
-
theme: {
|
|
30
|
-
type: StringConstructor;
|
|
31
|
-
reflect: boolean;
|
|
32
|
-
};
|
|
33
|
-
brandLink: {
|
|
34
|
-
type: StringConstructor;
|
|
35
|
-
attribute: string;
|
|
36
|
-
reflect: boolean;
|
|
37
|
-
};
|
|
38
|
-
authState: {
|
|
39
|
-
type: StringConstructor;
|
|
40
|
-
attribute: string;
|
|
41
|
-
reflect: boolean;
|
|
42
|
-
};
|
|
43
|
-
loginAction: {
|
|
44
|
-
type: ObjectConstructor;
|
|
45
|
-
attribute: boolean;
|
|
46
|
-
};
|
|
47
|
-
signUpAction: {
|
|
48
|
-
type: ObjectConstructor;
|
|
49
|
-
attribute: boolean;
|
|
50
|
-
};
|
|
51
|
-
accountMenu: {
|
|
52
|
-
type: ArrayConstructor;
|
|
53
|
-
attribute: boolean;
|
|
54
|
-
};
|
|
55
|
-
logoutLabel: {
|
|
56
|
-
type: StringConstructor;
|
|
57
|
-
attribute: string;
|
|
58
|
-
reflect: boolean;
|
|
59
|
-
};
|
|
60
|
-
logoutIcon: {
|
|
61
|
-
type: StringConstructor;
|
|
62
|
-
attribute: string;
|
|
63
|
-
reflect: boolean;
|
|
64
|
-
};
|
|
65
|
-
accountIcon: {
|
|
66
|
-
type: StringConstructor;
|
|
67
|
-
attribute: string;
|
|
68
|
-
reflect: boolean;
|
|
69
|
-
};
|
|
70
|
-
accountAvatar: {
|
|
71
|
-
type: StringConstructor;
|
|
72
|
-
attribute: string;
|
|
73
|
-
reflect: boolean;
|
|
74
|
-
};
|
|
75
|
-
accountAvatarFallback: {
|
|
76
|
-
type: StringConstructor;
|
|
77
|
-
attribute: string;
|
|
78
|
-
reflect: boolean;
|
|
79
|
-
};
|
|
80
|
-
loginIcon: {
|
|
81
|
-
type: StringConstructor;
|
|
82
|
-
attribute: string;
|
|
83
|
-
reflect: boolean;
|
|
84
|
-
};
|
|
85
|
-
signUpIcon: {
|
|
86
|
-
type: StringConstructor;
|
|
87
|
-
attribute: string;
|
|
88
|
-
reflect: boolean;
|
|
89
|
-
};
|
|
90
|
-
helpMenuList: {
|
|
91
|
-
type: ArrayConstructor;
|
|
92
|
-
};
|
|
93
|
-
accountMenuOpen: {
|
|
94
|
-
state: boolean;
|
|
95
|
-
};
|
|
96
|
-
helpMenuOpen: {
|
|
97
|
-
state: boolean;
|
|
98
|
-
};
|
|
99
|
-
hasSlottedAccountMenu: {
|
|
100
|
-
state: boolean;
|
|
101
|
-
};
|
|
102
|
-
hasSlottedHelpMenu: {
|
|
103
|
-
state: boolean;
|
|
104
|
-
};
|
|
105
|
-
authResolved: {
|
|
106
|
-
state: boolean;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
static styles: import('lit').CSSResult;
|
|
110
|
-
logo: string;
|
|
111
|
-
helpIcon: string;
|
|
112
|
-
layout: 'desktop' | 'mobile';
|
|
113
|
-
theme: 'light' | 'dark';
|
|
114
|
-
brandLink: string;
|
|
115
|
-
authState: HeaderAuthState;
|
|
116
|
-
loginAction: HeaderMenuItem;
|
|
117
|
-
signUpAction: HeaderMenuItem;
|
|
118
|
-
accountMenu: HeaderAccountMenuItem[];
|
|
119
|
-
logoutLabel: string | null;
|
|
120
|
-
logoutIcon: string;
|
|
121
|
-
accountIcon: string;
|
|
122
|
-
accountAvatar: string;
|
|
123
|
-
accountAvatarFallback: string;
|
|
124
|
-
loginIcon: string;
|
|
125
|
-
signUpIcon: string;
|
|
126
|
-
helpMenuList: HeaderMenuItem[];
|
|
127
|
-
accountMenuOpen: boolean;
|
|
128
|
-
helpMenuOpen: boolean;
|
|
129
|
-
hasSlottedAccountMenu: boolean;
|
|
130
|
-
hasSlottedHelpMenu: boolean;
|
|
131
|
-
authResolved: boolean;
|
|
132
|
-
private _refreshPromise;
|
|
133
|
-
private readonly handleAuthSessionChange;
|
|
134
|
-
constructor();
|
|
135
|
-
connectedCallback(): void;
|
|
136
|
-
disconnectedCallback(): void;
|
|
137
|
-
private refreshAuthStateFromSession;
|
|
138
|
-
private handleHelpMenuClick;
|
|
139
|
-
private handleAccountMenuClick;
|
|
140
|
-
private readonly handleDocumentClick;
|
|
141
|
-
private readonly handleWindowKeydown;
|
|
142
|
-
private handleAccountSlotChange;
|
|
143
|
-
private handleHelpSlotChange;
|
|
144
|
-
private toggleAccountMenu;
|
|
145
|
-
private toggleHelpMenu;
|
|
146
|
-
private hasAccountMenuItems;
|
|
147
|
-
private hasHelpMenuItems;
|
|
148
|
-
private shouldRenderHelpMenu;
|
|
149
|
-
private renderLoggedInAvatar;
|
|
150
|
-
private renderLoggedOutActions;
|
|
151
|
-
private handleLoginSuccess;
|
|
152
|
-
private handleLogout;
|
|
153
|
-
private renderAccountMenuItem;
|
|
154
|
-
private renderLoggedInActions;
|
|
155
|
-
private renderUserArea;
|
|
156
|
-
protected firstUpdated(): void;
|
|
157
|
-
protected updated(changedProperties: Map<string, unknown>): void;
|
|
158
|
-
render(): import('lit-html').TemplateResult<1>;
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=Header.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../../src/v2/components/layout/header/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAA;AAG3C,OAAO,8BAA8B,CAAA;AACrC,OAAO,+BAA+B,CAAA;AAGtC,OAAO,sBAAsB,CAAA;AAC7B,OAAO,uBAAuB,CAAA;AAsC9B,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAA;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,MAAO,SAAQ,UAAU;IACpC,MAAM,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuBhB;IAED,MAAM,CAAC,MAAM,0BAqbZ;IAEO,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;IAC5B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,eAAe,CAAA;IAC1B,WAAW,EAAE,cAAc,CAAA;IAC3B,YAAY,EAAE,cAAc,CAAA;IAC5B,WAAW,EAAE,qBAAqB,EAAE,CAAA;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,cAAc,EAAE,CAAA;IAC9B,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,OAAO,CAAA;IACrB,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,EAAE,OAAO,CAAA;IAC7B,OAAO,CAAC,eAAe,CAA6B;IAEpD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAIvC;;IA4BD,iBAAiB;IAcjB,oBAAoB;YAWN,2BAA2B;IAyBzC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKnC;IAED,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAKnC;IAED,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,sBAAsB;YA2BhB,kBAAkB;YASlB,YAAY;IA4B1B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,qBAAqB;IAgE7B,OAAO,CAAC,cAAc;IAoBtB,SAAS,CAAC,YAAY;IAOtB,SAAS,CAAC,OAAO,CAAE,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAS1D,MAAM;CA0FP"}
|