{"version":3,"file":"main.CaGaCf.js","sources":["theme-9/virtual:theme","theme-9/discourse/connectors/above-site-header/header-submenus.gjs","theme-9/virtual:entrypoint:main"],"sourcesContent":["import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(9);\n\nexport function themePrefix(key) {\n  return `theme_translations.9.${key}`;\n}\n","/* eslint-disable ember/no-classic-components, ember/require-tagless-components */\nimport Component from \"@ember/component\";\nimport { classNames } from \"@ember-decorators/component\";\nimport icon from \"discourse/helpers/d-icon\";\n\n// Used instead of dasherize for backwards compatibility with stable\nconst getClassName = (text) => {\n  return text.toLowerCase().replace(/\\s/g, \"-\");\n};\n\n@classNames(\"above-site-header-outlet\", \"header-submenus\")\nexport default class HeaderSubmenus extends Component {\n  init() {\n    super.init(...arguments);\n\n    try {\n      const splitMenuItems = settings.Menu_items.split(\"|\").filter(Boolean);\n      const splitSubmenuItems =\n        settings.Submenu_items.split(\"|\").filter(Boolean);\n      const menuItemsArray = [];\n      const SubmenuItemsArray = [];\n      splitSubmenuItems.forEach((item) => {\n        const fragments = item.split(\",\").map((fragment) => fragment.trim());\n        const parent = fragments[0].toLowerCase();\n        const text = fragments[1];\n        if (text.toLowerCase() === \"divider\") {\n          const divider = {\n            parent,\n            divider: true,\n          };\n          return SubmenuItemsArray.push(divider);\n        }\n        const className = getClassName(text);\n        const itemIcon =\n          fragments[2].toLowerCase() === \"none\"\n            ? \"\"\n            : fragments[2].toLowerCase();\n        const href = fragments[3];\n        const target = fragments[4] === \"blank\" ? \"_blank\" : \"\";\n        const title = fragments[5];\n        const submenuItem = {\n          parent,\n          text,\n          className,\n          icon: itemIcon,\n          href,\n          target,\n          title,\n        };\n        SubmenuItemsArray.push(submenuItem);\n      });\n      splitMenuItems.forEach((item) => {\n        const fragments = item.split(\",\").map((fragment) => fragment.trim());\n        const parentFor = fragments[0].toLowerCase();\n        const text = fragments[0];\n        const className = getClassName(text);\n        const itemIcon =\n          fragments[1].toLowerCase() === \"none\"\n            ? \"\"\n            : fragments[1].toLowerCase();\n        const title = fragments[2];\n        const view = fragments[3];\n        const childItems = SubmenuItemsArray.filter(\n          (link) => link.parent === parentFor\n        );\n        const menuItem = {\n          text,\n          className,\n          icon: itemIcon,\n          title,\n          view,\n          childItems,\n        };\n        menuItemsArray.push(menuItem);\n      });\n      const showCaret = settings.Show_caret;\n      this.setProperties({\n        menuItems: menuItemsArray,\n        showCaret,\n      });\n    } catch (error) {\n      // eslint-disable-next-line no-console\n      console.error(\n        error,\n        \"There's an issue in the Header Submenus Component. Check if your settings are entered correctly\"\n      );\n    }\n  }\n\n  <template>\n    <div id=\"top-menu\" class=\"top-menu\">\n      <div class=\"menu-content wrap\">\n        <div class=\"menu-placeholder\">\n          <div class=\"menu-item-container\">\n            <div class=\"menu-items\">\n              {{#each this.menuItems as |item|}}\n                <a\n                  class=\"menu-item {{item.view}} {{item.className}}\"\n                  title={{item.title}}\n                >\n                  {{#if item.icon}}\n                    {{icon item.icon}}\n                  {{/if}}\n\n                  {{item.text}}\n\n                  {{#if this.showCaret}}\n                    {{icon \"caret-right\"}}\n                  {{/if}}\n\n                  <div class=\"d-header-dropdown\">\n                    <ul class=\"d-dropdown-menu\">\n                      {{#each item.childItems as |child|}}\n                        {{#if child.divider}}\n                          <li class=\"divider\"></li>\n                        {{else}}\n                          <li class=\"submenu-item {{child.className}}\">\n                            <a\n                              target={{child.target}}\n                              title={{child.title}}\n                              class=\"submenu-link\"\n                              href={{child.href}}\n                            >\n                              {{#if child.icon}}\n                                {{icon child.icon}}\n                              {{/if}}\n\n                              {{child.text}}\n                            </a>\n                          </li>\n                        {{/if}}\n                      {{/each}}\n                    </ul>\n                  </div>\n                </a>\n              {{/each}}\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </template>\n}\n","import * as Mod1 from \"./discourse/connectors/above-site-header/header-submenus.gjs\";\nconst compatModules = {\n  \"discourse/connectors/above-site-header/header-submenus\": Mod1,\n};\nexport { compatModules };\nexport default compatModules;\n"],"names":["settings","getObjectForTheme","getClassName","text","toLowerCase","replace","HeaderSubmenus","dt7948","c","Component","init","super","arguments","splitMenuItems","Menu_items","split","filter","Boolean","splitSubmenuItems","Submenu_items","menuItemsArray","SubmenuItemsArray","forEach","item","fragments","map","fragment","trim","parent","divider","push","submenuItem","className","icon","href","target","title","parentFor","menuItem","view","childItems","link","showCaret","Show_caret","this","setProperties","menuItems","error","console","setComponentTemplate","createTemplateFactory","id","block","moduleName","scope","isStrictMode","classNames","compatModules"],"mappings":"ugBAEaA,EAAWC,EAAkB,GCIpCC,EAAgBC,GACbA,EAAKC,cAAcC,QAAQ,MAAO,KAItBC,EAAAC,OAAAC,EAAA,cAAuBC,EAC1CC,IAAAA,GACEC,MAAMD,QAAQE;AAEd,IACE,MAAMC,EAAiBb,EAASc,WAAWC,MAAM,KAAKC,OAAOC,SACvDC,EACJlB,EAASmB,cAAcJ,MAAM,KAAKC,OAAOC,SACrCG,EAAiB,GACjBC,EAAoB;AAC1BH,EAAkBI,QAASC,IACzB,MAAMC,EAAYD,EAAKR,MAAM,KAAKU,IAAKC,GAAaA,EAASC,QACvDC,EAASJ,EAAU,GAAGpB,cACtBD,EAAOqB,EAAU;AACvB,GAA2B,YAAvBrB,EAAKC,cAA6B,CACpC,MAAMyB,EAAU,CACdD,SACAC,SAAS;AAEX,OAAOR,EAAkBS,KAAKD,EAChC,CACA,MAQME,EAAc,CAClBH,SACAzB,OACA6B,UAXgB9B,EAAaC,GAY7B8B,KAV+B,SAA/BT,EAAU,GAAGpB,cACT,GACAoB,EAAU,GAAGpB,cASjB8B,KARWV,EAAU,GASrBW,OAR8B,UAAjBX,EAAU,GAAiB,SAAW,GASnDY,MARYZ,EAAU;AAUxBH,EAAkBS,KAAKC,KAEzBlB,EAAeS,QAASC,IACtB,MAAMC,EAAYD,EAAKR,MAAM,KAAKU,IAAKC,GAAaA,EAASC,QACvDU,EAAYb,EAAU,GAAGpB,cACzBD,EAAOqB,EAAU,GAWjBc,EAAW,CACfnC,OACA6B,UAZgB9B,EAAaC,GAa7B8B,KAX+B,SAA/BT,EAAU,GAAGpB,cACT,GACAoB,EAAU,GAAGpB,cAUjBgC,MATYZ,EAAU,GAUtBe,KATWf,EAAU,GAUrBgB,WATiBnB,EAAkBL,OAClCyB,GAASA,EAAKb,SAAWS;AAU5BjB,EAAeU,KAAKQ;AAEtB,MAAMI,EAAY1C,EAAS2C;AAC3BC,KAAKC,cAAc,CACjBC,UAAW1B,EACXsB,aAEJ,CAAE,MAAOK,GAEPC,QAAQD,MACNA,EACA,kGAEJ,CACF,QAEAE,EAAAC,EAAA,CAAAC,GAAA,KAAAC,MAAA,0zDAAAC,WAAA,4BAAAC,MAAAA,KAAAA,CAAArB,SAAAsB,cAAA,IAoDAX,KAAU,IAnIXY,EAAW,2BAA4B;ACTnC,MAACC,EAAgB,CACpB;"}