{"version":3,"sources":["DefaultHeader.tsx"],"sourcesContent":["import { HamburgerMenu } from './HamburgerMenu.tsx';\nimport { template } from \"uix/html/template.ts\";\nimport { Component } from \"uix/components/Component.ts\";\nimport { include } from \"uix/base/decorators.ts\";\nimport { Icon } from \"./Icon.tsx\";\n\ntype Link = {\n\tname: string,\n\tlink?: URL | string,\n\tchildren?: (Link & {\n\t\tdescription?: string,\n\t\ticon?: string\n\t})[]\n}\n\n@template(function(this: DefaultHeader) {\n\treturn <>\n\t\t{this.createHamburgerMenu() ?? undefined}\n\t\t{this.createLogo() ?? undefined}\n\t\t{this.createNavigation() ?? undefined}\n\t\t{this.createActions() ?? undefined}\n\t</>\n})\nexport class DefaultHeader extends Component {\n\t@include links!: Link[]\n\t@standalone @id hamburgerMenu!: HamburgerMenu;\n\t@standalone @id navigationContainer!: HTMLDivElement;\n\t@standalone @id actionContainer!: HTMLDivElement;\n\n\tprotected createHamburgerMenu(): Element | void {\n\t\tconst hamburgerMenu = <HamburgerMenu items={[\n\t\t\t...this.links\n\t\t\t\t.map(link => {\n\t\t\t\t\tif (link.children)\n\t\t\t\t\t\treturn <details>\n\t\t\t\t\t\t\t<summary><a>{link.name}</a></summary>\n\t\t\t\t\t\t\t{link.children.map(child => \n\t\t\t\t\t\t\t\t<a href={child.link} title={child.name}>{child.name}</a>)}\n\t\t\t\t\t\t</details>\n\t\t\t\t\treturn <a href={link.link} title={link.name}>{link.name}</a>;\n\t\t\t\t}) as HTMLElement[]\t\n\t\t]} id=\"hamburgerMenu\"/> as HamburgerMenu;\n\t\treturn hamburgerMenu;\n\t}\n\n\tprotected createLogo(): Element | void {\n\t\treturn <a id=\"logo\" href=\"/\" onclick:frontend={()=>this.reload()}>\n\t\t\t<img src=\"https://cdn.unyt.org/unyt-resources/logos/unyt/text-light-transparent-3.svg\"/>\n\t\t</a>;\n\t}\n\tprotected createNavigation(): Element | void {\n\t\treturn <div id=\"navigationContainer\">\n\t\t\t{...this.links.map(link => this.createLink(link))}\n\t\t</div>;\n\t}\n\tprotected createActions(): Element | void {\n\t\treturn <div id=\"actionContainer\">\n\t\t</div>;\n\t}\n\n\t@standalone\n\tprotected reload() {\n\t\tglobalThis.location.reload();\n\t}\n\n\tprotected createLink(link: Link) {\n\t\tif (link.children) \n\t\t\treturn <div class=\"header-dropdown\">\n\t\t\t\t<a class=\"header-link expandable\"><span>{link.name}</span> <Icon name=\"fa-chevron-down\"/></a>\n\t\t\t\t<div>\n\t\t\t\t\t{...link.children.map(child => <a class=\"header-link\" href={child.link} title={child.name}>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{child.icon ? <Icon name={child.icon}/> : undefined}\n\t\t\t\t\t\t\t<span>{child.name}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{child.description ? <p>{child.description}</p> : undefined}\n\t\t\t\t\t</a>)}\n\t\t\t\t</div>\n\t\t\t</div>;\n\t\treturn <a class=\"header-link\" href={link.link} title={link.name}>\n\t\t\t{link.name}\n\t\t</a>;\n\t}\n\n\t@standalone\n\tpublic collapseMenu() {\n\t\tthis.hamburgerMenu.collapse();\n\t}\n\n\tpublic override onCreate() {\n\t\tthis.classList.add(\"uix-header\");\n\t\tthis.hamburgerMenu.collapse();\n\t}\n}"],"names":["Component","links","hamburgerMenu","navigationContainer","actionContainer","HamburgerMenu","template","include","Icon","createHamburgerMenu","undefined","createLogo","createNavigation","createActions","DefaultHeader","standalone","reload","collapseMenu","id","items","map","link","children","details","summary","a","name","child","href","title","img","src","div","createLink","globalThis","location","class","span","icon","description","p","collapse","onCreate","classList","add"],"mappings":"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","sourceRoot":"/lib/uix-components-new-0.1.15/Defaults/","file":"DefaultHeader.tsx"}