{"version":3,"sources":["../src/m2m-apps-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 { MenuBaseElement, MenuBaseElementProps } from \"./MenuBaseElement\";\nimport { domainsPromise } from \"./domains\";\nimport { appsPromise } from \"./apps\";\n\nexport type M2MAppsMenuProps = MenuBaseElementProps;\n\n@customElement(\"m2m-apps-menu\")\nexport class M2MAppsMenu extends MenuBaseElement {\n  private _dataTask = new Task(this, {\n    task: async (_: unknown, { signal }) => {\n      const apps = await appsPromise(signal);\n\n      const domains = await domainsPromise(signal);\n      return { apps, domains };\n    },\n    args: () => [],\n  });\n\n  render() {\n    const isHidden = this.expanded === false || this.expanded === undefined;\n\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\n    return html`<nav>\n      <button\n        type=\"button\"\n        class=\"navigation-drawer-controll-button navigation-drawer-controll-button--icon\"\n        aria-controls=\"m2m-apps-menu__navigation-drawer\"\n        aria-expanded=${this.expanded}\n        @click=${this.handleToggleDrawer}\n      >\n        <svg\n          xmlns=\"http://www.w3.org/2000/svg\"\n          width=\"38px\"\n          height=\"38px\"\n          viewBox=\"0 0 24 24\"\n        >\n          <path\n            d=\"M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z\"\n          />\n        </svg>\n      </button>\n      <ul\n        ${ref(this.listRef)}\n        id=\"m2m-apps-menu__navigation-drawer\"\n        aria-hidden=${isHidden}\n        class=\"navigation-drawer\"\n      >\n        ${this._dataTask.render({\n          pending: () => html`<li><a disabled href=\"#\">Loading...</a></li>`,\n          complete: ({ apps, domains }) => {\n            return apps.map((app) => {\n              return app.type === \"group\"\n                ? html`\n                    <li>\n                      <span>${app.label}</span>\n                      <ul>\n                        ${app.children.map((child) => {\n                          // 2段ネストはサポートしない\n                          if (child.type === \"link\") {\n                            return html`\n                              <li>\n                                <a href=\"${domains[child.key]}\"\n                                  >${child.label}</a\n                                >\n                              </li>\n                            `;\n                          }\n                        })}\n                      </ul>\n                    </li>\n                  `\n                : html`\n                    <li>\n                      <a href=\"${domains[app.key]}\">${app.label}</a>\n                    </li>\n                  `;\n            });\n          },\n        })}\n        ${additionalItems}\n      </ul>\n    </nav>`;\n  }\n}\n\ndeclare global {\n  interface HTMLElementTagNameMap {\n    \"m2m-apps-menu\": M2MAppsMenu;\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,SAAQ,YAAY,IAAI,KAAK,MAAM;AAAA,MACjC,MAAM,OAAO,GAAY,EAAE,OAAO,MAAM;AACtC,cAAM,OAAO,MAAM,YAAY,MAAM;AAErC,cAAM,UAAU,MAAM,eAAe,MAAM;AAC3C,eAAO,EAAE,MAAM,QAAQ;AAAA,MACzB;AAAA,MACA,MAAM,MAAM,CAAC;AAAA,IACf,CAAC;AAAA;AAAA,EAED,SAAS;AAtBX;AAuBI,UAAM,WAAW,KAAK,aAAa,SAAS,KAAK,aAAa;AAE9D,UAAM,mBAAkB,UAAK,mBAAL,mBAAqB,IAAI,CAAC,SAAS;AACzD,aAAO;AAAA;AAAA,qBAEQ,KAAK,IAAI,KAAK,KAAK,KAAK;AAAA;AAAA;AAAA,IAGzC;AAEA,WAAO;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKa,KAAK,QAAQ;AAAA,iBACpB,KAAK,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAc9B,IAAI,KAAK,OAAO,CAAC;AAAA;AAAA,sBAEL,QAAQ;AAAA;AAAA;AAAA,UAGpB,KAAK,UAAU,OAAO;AAAA,MACtB,SAAS,MAAM;AAAA,MACf,UAAU,CAAC,EAAE,MAAM,QAAQ,MAAM;AAC/B,eAAO,KAAK,IAAI,CAAC,QAAQ;AACvB,iBAAO,IAAI,SAAS,UAChB;AAAA;AAAA,8BAEY,IAAI,KAAK;AAAA;AAAA,0BAEb,IAAI,SAAS,IAAI,CAAC,UAAU;AAE5B,gBAAI,MAAM,SAAS,QAAQ;AACzB,qBAAO;AAAA;AAAA,2CAEQ,QAAQ,MAAM,GAAG,CAAC;AAAA,qCACxB,MAAM,KAAK;AAAA;AAAA;AAAA;AAAA,YAItB;AAAA,UACF,CAAC,CAAC;AAAA;AAAA;AAAA,sBAIR;AAAA;AAAA,iCAEe,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK;AAAA;AAAA;AAAA,QAGnD,CAAC;AAAA,MACH;AAAA,IACF,CAAC,CAAC;AAAA,UACA,eAAe;AAAA;AAAA;AAAA,EAGvB;AACF;AAnFa,cAAN;AAAA,EADN,cAAc,eAAe;AAAA,GACjB;","names":[]}