{"version":3,"file":"virtual_main.js","sources":["theme-24/virtual:init-settings","theme-24/virtual:theme","theme-24/discourse/components/search-banner.hbs","theme-24/discourse/components/search-banner.js","theme-24/discourse/api-initializers/init-search-banner.js","theme-24/discourse/components/search-icon.gjs","theme-24/virtual:main"],"sourcesContent":["import { registerSettings } from \"discourse/lib/theme-settings-store\";\n\nregisterSettings(24, {\n  \"show_on\": \"top_menu\",\n  \"plugin_outlet\": \"above-main-container\",\n  \"background_image_light\": \"//community-ccleaner-uploads-production.s3.dualstack.us-east-1.amazonaws.com/original/2X/9/9b7bba242e1b9c2462c2151413a2fd00753ae8e9.png\",\n  \"background_image_dark\": null,\n  \"tile_background_image\": false,\n  \"show_for\": \"everyone\",\n  \"special_style\": \"basic style (default)\"\n});\n","import { getObjectForTheme } from \"discourse/lib/theme-settings-store\";\n\nexport const settings = getObjectForTheme(24);\n\nexport function themePrefix(key) {\n  return `theme_translations.24.${key}`;\n}\n","{{#if this.shouldDisplay}}\n  <div\n    class=\"{{concat (theme-setting 'plugin_outlet') '-outlet'}} search-banner\"\n  >\n    <div\n      class=\"custom-search-banner\"\n      {{did-insert this.didInsert}}\n      {{will-destroy this.willDestroy}}\n    >\n      <div class=\"wrap custom-search-banner-wrap\">\n        <h1>\n          <h3>{{html-safe (theme-i18n \"search_banner.headline\")}}</h3></h1>\n        <PluginOutlet @name=\"search-banner-below-headline\" />\n        <p><h4>{{html-safe (theme-i18n \"search_banner.subhead\")}}\n          <a href=\"/faq\" target=\"_blank\" style=\"color: #0f71f0;\">Get started</a>\n        </h4></p>\n        <div class=\"search-menu\">\n          {{#unless this.buttonText}}\n            <SearchIcon />\n          {{/unless}}\n          <SearchMenu />\n          {{#if this.buttonText}}\n            <SearchIcon\n              @buttonText={{this.buttonText}}\n              @buttonClass=\"has-search-button-text\"\n            />\n          {{/if}}\n        </div>\n        <PluginOutlet @name=\"search-banner-below-input\" />\n      </div>\n    </div>\n  </div>\n{{/if}}","import Component from \"@glimmer/component\";\nimport { action } from \"@ember/object\";\nimport { service } from \"@ember/service\";\nimport { defaultHomepage } from \"discourse/lib/utilities\";\nimport I18n from \"discourse-i18n\";\n\nexport default class SearchBanner extends Component {\n  @service router;\n  @service siteSettings;\n  @service currentUser;\n\n  get displayForRoute() {\n    const showOn = settings.show_on;\n    const currentRouteName = this.router.currentRouteName;\n\n    if (showOn === \"homepage\") {\n      return currentRouteName === `discovery.${defaultHomepage()}`;\n    } else if (showOn === \"top_menu\") {\n      return this.siteSettings.top_menu\n        .split(\"|\")\n        .any((m) => `discovery.${m}` === currentRouteName);\n    } else if (showOn === \"discovery\") {\n      return currentRouteName.startsWith(\"discovery.\");\n    } else {\n      // \"all\"\n      return (\n        currentRouteName !== \"full-page-search\" &&\n        !currentRouteName.startsWith(\"admin.\")\n      );\n    }\n  }\n\n  get displayForUser() {\n    const showFor = settings.show_for;\n    return (\n      showFor === \"everyone\" ||\n      (showFor === \"logged_out\" && !this.currentUser) ||\n      (showFor === \"logged_in\" && this.currentUser)\n    );\n  }\n\n  get buttonText() {\n    const buttonText = I18n.t(themePrefix(\"search_banner.search_button_text\"));\n    // this is required for when the English (US) locale is empty\n    // and the site locale is set to another language\n    // otherwise the English (US) fallback key is rendered as the button text\n    // https://meta.discourse.org/t/bug-with-search-banner-search-button-text-shown-in-search-banner-theme-component/273628\n    if (buttonText.includes(\"theme_translations\")) {\n      return false;\n    }\n\n    return buttonText;\n  }\n\n  get shouldDisplay() {\n    return this.displayForRoute && this.displayForUser;\n  }\n\n  @action\n  didInsert() {\n    // Setting a class on <html> from a component is not great\n    // but we need it for backwards compatibility\n    document.documentElement.classList.add(\"display-search-banner\");\n  }\n\n  @action\n  willDestroy() {\n    super.willDestroy(...arguments);\n    document.documentElement.classList.remove(\"display-search-banner\");\n  }\n}\n","import { apiInitializer } from \"discourse/lib/api\";\nimport SearchBanner from \"../components/search-banner\";\n\nexport default apiInitializer(\"1.14.0\", (api) => {\n  api.renderInOutlet(\n    settings.plugin_outlet === \"above-main-container\"\n      ? \"above-main-container\"\n      : \"below-site-header\",\n    SearchBanner\n  );\n\n  api.forceDropdownForMenuPanels(\"search-menu-panel\");\n});\n","import Component from \"@glimmer/component\";\nimport DButton from \"discourse/components/d-button\";\nimport concatClass from \"discourse/helpers/concat-class\";\n\nexport default class SearchIcon extends Component {\n  get advancedSearchButtonHref() {\n    return \"/search?expanded=true\";\n  }\n\n  <template>\n    <DButton\n      @icon=\"search\"\n      @translatedLabel={{@buttonText}}\n      @title=\"search.open_advanced\"\n      class={{concatClass \"btn search-icon\" @buttonClass}}\n      @href={{this.advancedSearchButtonHref}}\n    />\n  </template>\n}\n","import \"virtual:init-settings\";\n\nconst themeCompatModules = {};\nimport * as Mod1 from \"./discourse/api-initializers/init-search-banner\";\nthemeCompatModules[\"discourse/api-initializers/init-search-banner\"] = Mod1;\n\nimport * as Mod2 from \"./discourse/components/search-banner\";\nthemeCompatModules[\"discourse/components/search-banner\"] = Mod2;\n\nimport * as Mod3 from \"./discourse/components/search-banner\";\nthemeCompatModules[\"discourse/components/search-banner\"] = Mod3;\n\nimport * as Mod4 from \"./discourse/components/search-icon\";\nthemeCompatModules[\"discourse/components/search-icon\"] = Mod4;\n\nexport default themeCompatModules;\n"],"names":["registerSettings","show_on","plugin_outlet","background_image_light","background_image_dark","tile_background_image","show_for","special_style","settings","getObjectForTheme","createTemplateFactory","id","block","moduleName","isStrictMode","SearchBanner","Component","static","dt7948","g","this","prototype","service","router","i","siteSettings","currentUser","displayForRoute","showOn","currentRouteName","defaultHomepage","top_menu","split","any","m","startsWith","displayForUser","showFor","buttonText","I18n","t","includes","shouldDisplay","didInsert","document","documentElement","classList","add","n","action","willDestroy","super","arguments","remove","_setComponentTemplate","__COLOCATED_TEMPLATE__","initSearchBanner","apiInitializer","api","renderInOutlet","forceDropdownForMenuPanels","SearchIcon","advancedSearchButtonHref","setComponentTemplate","scope","DButton","concatClass","themeCompatModules","Mod1","Mod2","Mod3","Mod4"],"mappings":";AAEAA,EAAiB,GAAI,CACnBC,QAAW,WACXC,cAAiB,uBACjBC,uBAA0B,0IAC1BC,sBAAyB,KACzBC,uBAAyB,EACzBC,SAAY,WACZC,cAAiB;ACPZ,MAAMC,EAAWC,EAAkB;QCA5BC,EAAA,CAAAC,GAAA,KAAAC,MAAA,2jDAAAC,WAAA,kDAAAC,cAAA;ACIC,MAAMC,UAAqBC,EAAUC,cAAAC,OAAAC,EAAAC,KAAAC,oBACjDC;AAAOC,GAAA,MAAAL,OAAAM,gBAAA,EAAA;AAAAP,cAAAC,OAAAC,EAAAC,KAAAC,0BACPC;AAAOG,GAAA,MAAAP,OAAAM,sBAAA,EAAA;AAAAP,cAAAC,OAAAC,EAAAC,KAAAC,yBACPC;AAAOI,GAAA,MAAAR,OAAAM,qBAAA,EAAA;AAER,mBAAIG,GACF,MAAMC,EAASpB,EAASP,QAClB4B,EAAmBT,KAAKG,OAAOM;AAErC,MAAe,aAAXD,EACKC,IAAqB,aAAaC,MACrB,aAAXF,EACFR,KAAKK,aAAaM,SACtBC,MAAM,KACNC,IAAKC,GAAM,aAAaA,MAAQL,GACf,cAAXD,EACFC,EAAiBM,WAAW,cAIZ,qBAArBN,IACCA,EAAiBM,WAAW,SAGnC,CAEA,kBAAIC,GACF,MAAMC,EAAU7B,EAASF;AACzB,MACc,aAAZ+B,GACa,eAAZA,IAA6BjB,KAAKM,aACtB,cAAZW,GAA2BjB,KAAKM,WAErC,CAEA,cAAIY,GACF,MAAMA,EAAaC,EAAKC,EFrCnB,yBEqCiC;AAKtC,OAAIF,EAAWG,SAAS,uBAIjBH,CACT,CAEA,iBAAII,GACF,OAAOtB,KAAKO,iBAAmBP,KAAKgB,cACtC,CAGAO,SAAAA,GAGEC,SAASC,gBAAgBC,UAAUC,IAAI,wBACzC,CAAA9B,cAAAC,OAAA8B,EAAA5B,KAAAC,uBALC4B;AAQDC,WAAAA,GACEC,MAAMD,eAAeE,WACrBR,SAASC,gBAAgBC,UAAUO,OAAO,wBAC5C,CAAApC,cAAAC,OAAA8B,EAAA5B,KAAAC,yBAJC4B,OAKHK,EAAAC,EAhEqBxC;gDCHrByC,EAAeC,EAAe,SAAWC,IACvCA,EAAIC,eACyB,yBAA3BnD,EAASN,cACL,uBACA,oBACJa,GAGF2C,EAAIE,2BAA2B;ACPlB,MAAMC,UAAmB7C,EACtC,4BAAI8C,GACF,MAAO,uBACT,CAAA7C,SAAA,KAAA8C,EAAArD,EAAA,CAAAC,GAAA,KAAAC,MAAA,0QAAAC,WAAA,iDAAAmD,MAAAA,IAAA,CAAAC,EAAAC,GAAApD,cAAA,IAUAM,MAVA;ACLG,MAAC+C,EAAqB,CAAA;AAE3BA,EAAmB,iDAAmDC,EAGtED,EAAmB,sCAAwCE,EAG3DF,EAAmB,sCAAwCG,EAG3DH,EAAmB,oCAAsCI;"}