{"version":3,"sources":["../src/m2m-user-menu.ts"],"sourcesContent":["import { customElement } from \"lit/decorators.js\";\nimport { html } from \"lit\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { Task } from \"@lit/task\";\nimport { createClearAuth } from \"./storage/clearAuth\";\nimport { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { domainsPromise } from \"./domains\";\n\nexport type M2MUserMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-user-menu\")\nexport class M2MUserMenu extends MenuBaseElement {\n  handleLogout = async () => {\n    await createClearAuth()();\n    window.location.reload();\n  };\n  private _usersUrlTask = new Task(this, {\n    task: async (_: unknown, { signal }) => {\n      const domains = await domainsPromise(signal);\n      return domains.users;\n    },\n    args: () => [],\n  });\n\n  render() {\n    const additionalItems = this.additinalItems?.map((item) => {\n      return html`\n        <li>\n          <a href=\"${item.href}\">${item.label}</a>\n        </li>\n      `;\n    });\n    const isHidden = this.expanded === false || this.expanded === undefined;\n    return html`<nav>\n      <button\n        type=\"button\"\n        class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n        aria-controls=\"m2m-user-menu__navigation-drawer\"\n        aria-expanded=${this.expanded}\n        @click=${this.handleToggleDrawer}\n      >\n        <svg viewBox=\"0 0 24 24\" width=\"38px\" height=\"38px\" fill=\"#000000\">\n          <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n          <path\n            d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z\"\n          />\n        </svg>\n      </button>\n      <ul\n        ${ref(this.listRef)}\n        id=\"m2m-user-menu__navigation-drawer\"\n        aria-hidden=${isHidden}\n        class=\"navigation-drawer\"\n      >\n        <li>\n          ${this._usersUrlTask.render({\n            pending: () => html`<a disabled href=\"#\">Loading...</a>`,\n            complete: (usersUrl) => {\n              return html`<a href=\"${usersUrl}\">アカウント情報</a>`;\n            },\n          })}\n        </li>\n        <li @click=${this.handleLogout}>\n          <button type=\"button\">ログアウト</button>\n        </li>\n        ${additionalItems}\n      </ul>\n    </nav>`;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    \"m2m-user-menu\": M2MUserMenu;\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,WAAW;AACpB,SAAS,YAAY;AAQd,IAAM,cAAN,cAA0B,gBAAgB;AAAA,EAA1C;AAAA;AACL,wBAAe,YAAY;AACzB,YAAM,gBAAgB,EAAE;AACxB,aAAO,SAAS,OAAO;AAAA,IACzB;AACA,SAAQ,gBAAgB,IAAI,KAAK,MAAM;AAAA,MACrC,MAAM,OAAO,GAAY,EAAE,OAAO,MAAM;AACtC,cAAM,UAAU,MAAM,eAAe,MAAM;AAC3C,eAAO,QAAQ;AAAA,MACjB;AAAA,MACA,MAAM,MAAM,CAAC;AAAA,IACf,CAAC;AAAA;AAAA,EAED,SAAS;AAxBX;AAyBI,UAAM,mBAAkB,UAAK,mBAAL,mBAAqB,IAAI,CAAC,SAAS;AACzD,aAAO;AAAA;AAAA,qBAEQ,KAAK,IAAI,KAAK,KAAK,KAAK;AAAA;AAAA;AAAA,IAGzC;AACA,UAAM,WAAW,KAAK,aAAa,SAAS,KAAK,aAAa;AAC9D,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKa,KAAK,QAAQ;AAAA,iBACpB,KAAK,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAU9B,IAAI,KAAK,OAAO,CAAC;AAAA;AAAA,sBAEL,QAAQ;AAAA;AAAA;AAAA;AAAA,YAIlB,KAAK,cAAc,OAAO;AAAA,MAC1B,SAAS,MAAM;AAAA,MACf,UAAU,CAAC,aAAa;AACtB,eAAO,gBAAgB,QAAQ;AAAA,MACjC;AAAA,IACF,CAAC,CAAC;AAAA;AAAA,qBAES,KAAK,YAAY;AAAA;AAAA;AAAA,UAG5B,eAAe;AAAA;AAAA;AAAA,EAGvB;AACF;AA1Da,cAAN;AAAA,EADN,cAAc,eAAe;AAAA,GACjB;","names":[]}