{"version":3,"sources":["settings.js","discourse/api-initializers/init-search-banner.js","discourse/components/search-banner.js","discourse/templates/components/search-banner.js","search-banner/templates/connectors/above-main-container/search-banner.js","search-banner/templates/connectors/below-site-header/search-banner.js"],"names":["window","require","registerSettings","show_on","plugin_outlet","background_image","tile_background_image","show_for","special_style","define","_exports","_api","_search","Object","defineProperty","value","default","settings","getObjectForTheme","_default","apiInitializer","api","disableConnectorName","registerConnectorClass","shouldRender","corePanelContents","container","factoryFor","class","prototype","reopenWidget","buildKey","attrs","formFactor","defaultState","showHeaderResults","inTopicContext","html","state","this","panelContents","_super","mouseDownOutside","sendWidgetAction","scheduleRerender","click","showResults","linkClickedEvent","searchLogId","searchResultId","searchResultType","logSearchLinkClick","focusSearchInput","searchInput","document","querySelector","focus","select","clearContext","clearSearchWidgetContext","contents","push","attach","icon","className","action","concat","call","filter","widget","name","createWidget","tagName","searchVisible","topic","contextEnabled","setTopicContext","_component","_service","_utilities","_computed","_decorators","_dec","_dec2","_dec3","_obj","_applyDecoratedDescriptor","target","property","decorators","descriptor","context","desc","keys","forEach","key","enumerable","configurable","initializer","writable","slice","reverse","reduce","decorator","undefined","extend","observes","router","inject","displayForRoute","currentRouteName","showOn","defaultHomepage","siteSettings","top_menu","split","any","m","startsWith","displayForUser","currentUser","showFor","shouldDisplay","and","displayChanged","documentElement","classList","toggle","didInsertElement","didDestroyElement","remove","getOwnPropertyDescriptor","_templateFactory","createTemplateFactory","id","block","moduleName","isStrictMode"],"mappings":"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","sourceRoot":"theme-15/","sourcesContent":["(function() {\n  if ('require' in window) {\n    require(\"discourse/lib/theme-settings-store\").registerSettings(15, {\"show_on\":\"top_menu\",\"plugin_outlet\":\"above-main-container\",\"background_image\":\"/uploads/default/original/1X/f3b3a7cd0ab2c0df69812b15c5f1b9f8760526b5.jpeg\",\"tile_background_image\":true,\"show_for\":\"everyone\",\"special_style\":\"basic style (default)\"});\n  }\n})();\n","if ('define' in window) {\ndefine(\"discourse/theme-15/api-initializers/init-search-banner\", [\"exports\", \"discourse/lib/api\", \"discourse/lib/search\"], function (_exports, _api, _search) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(15);\n  const themePrefix = key => `theme_translations.15.${key}`;\n  var _default = (0, _api.apiInitializer)(\"0.8\", api => {\n    const enableConnectorName = settings.plugin_outlet;\n    const disableConnectorName = enableConnectorName === \"above-main-container\" ? \"below-site-header\" : \"above-main-container\";\n    api.registerConnectorClass(disableConnectorName, \"search-banner\", {\n      shouldRender() {\n        return false;\n      }\n    });\n\n    // Simplified version of header search theme component\n    const searchMenuWidget = api.container.factoryFor(\"widget:search-menu\");\n    const corePanelContents = searchMenuWidget.class.prototype[\"panelContents\"];\n    api.reopenWidget(\"search-menu\", {\n      buildKey(attrs) {\n        let type = attrs.formFactor || \"menu\";\n        return `search-${type}`;\n      },\n      defaultState(attrs) {\n        return {\n          formFactor: attrs.formFactor || \"menu\",\n          showHeaderResults: false,\n          inTopicContext: attrs.inTopicContext\n        };\n      },\n      html(attrs, state) {\n        if (this.state.formFactor === \"widget\") {\n          return this.panelContents();\n        } else {\n          return this._super(attrs, state);\n        }\n      },\n      mouseDownOutside() {\n        const formFactor = this.state.formFactor;\n        if (formFactor === \"menu\") {\n          return this.sendWidgetAction(\"toggleSearchMenu\");\n        } else {\n          this.state.showHeaderResults = false;\n          this.scheduleRerender();\n        }\n      },\n      click() {\n        const formFactor = this.state.formFactor;\n        if (formFactor === \"widget\") {\n          this.showResults();\n        }\n      },\n      showResults() {\n        this.state.showHeaderResults = true;\n        this.scheduleRerender();\n      },\n      linkClickedEvent(attrs) {\n        if (attrs) {\n          const {\n            searchLogId,\n            searchResultId,\n            searchResultType\n          } = attrs;\n          if (searchLogId && searchResultId && searchResultType) {\n            (0, _search.logSearchLinkClick)({\n              searchLogId,\n              searchResultId,\n              searchResultType\n            });\n          }\n        }\n        const formFactor = this.state.formFactor;\n        if (formFactor === \"widget\") {\n          this.state.showHeaderResults = false;\n          this.scheduleRerender();\n        }\n      },\n      focusSearchInput() {\n        const searchInput = this.state.formFactor === \"widget\" ? document.querySelector(\".search-widget #search-term\") : document.querySelector(\".search-menu #search-term\");\n        searchInput.focus();\n        searchInput.select();\n      },\n      clearContext() {\n        this.sendWidgetAction(\"clearSearch\");\n        this.sendWidgetAction(\"clearSearchWidgetContext\");\n        this.state.inTopicContext = false;\n      },\n      clearSearchWidgetContext() {\n        this.state.inTopicContext = false;\n      },\n      panelContents() {\n        const formFactor = this.state.formFactor;\n        let showHeaderResults = this.state.showHeaderResults == null || this.state.showHeaderResults === true;\n        let contents = [];\n        if (formFactor === \"widget\") {\n          contents.push(this.attach(\"button\", {\n            icon: \"search\",\n            className: \"search-icon\",\n            action: \"showResults\"\n          }));\n        }\n        contents = contents.concat(...corePanelContents.call(this));\n        if (formFactor === \"menu\" || showHeaderResults) {\n          return contents;\n        } else {\n          return contents.filter(widget => {\n            return widget.name !== \"search-menu-results\" && widget.name !== \"search-context\";\n          });\n        }\n      }\n    });\n    api.createWidget(\"search-widget\", {\n      tagName: \"div.search-widget\",\n      html() {\n        const searchMenuVisible = this.state.searchVisible;\n        if (!searchMenuVisible && !this.attrs.topic) {\n          return this.attach(\"search-menu\", {\n            contextEnabled: this.state.contextEnabled,\n            formFactor: \"widget\"\n          });\n        }\n      },\n      clearSearchWidgetContext() {\n        this.state.inTopicContext = false;\n      },\n      setTopicContext() {\n        this.state.inTopicContext = true;\n      }\n    });\n  });\n  _exports.default = _default;\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-15/components/search-banner\", [\"exports\", \"@ember/component\", \"@ember/service\", \"discourse/lib/utilities\", \"@ember/object/computed\", \"discourse-common/utils/decorators\"], function (_exports, _component, _service, _utilities, _computed, _decorators) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _dec, _dec2, _dec3, _obj;\n  function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n  const settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(15);\n  const themePrefix = key => `theme_translations.15.${key}`;\n  var _default = _component.default.extend((_dec = (0, _decorators.default)(\"router.currentRouteName\"), _dec2 = (0, _decorators.default)(\"currentUser\"), _dec3 = (0, _decorators.observes)(\"shouldDisplay\"), (_obj = {\n    router: (0, _service.inject)(),\n    tagName: \"\",\n    displayForRoute(currentRouteName) {\n      const showOn = settings.show_on;\n      if (showOn === \"homepage\") {\n        return currentRouteName === `discovery.${(0, _utilities.defaultHomepage)()}`;\n      } else if (showOn === \"top_menu\") {\n        return this.siteSettings.top_menu.split(\"|\").any(m => `discovery.${m}` === currentRouteName);\n      } else {\n        // \"all\"\n        return currentRouteName !== \"full-page-search\" && !currentRouteName.startsWith(\"admin.\");\n      }\n    },\n    displayForUser(currentUser) {\n      const showFor = settings.show_for;\n      if (showFor === \"everyone\") {\n        return true;\n      } else if (showFor === \"logged_out\" && !currentUser) {\n        return true;\n      } else if (showFor === \"logged_in\" && currentUser) {\n        return true;\n      }\n      return false;\n    },\n    shouldDisplay: (0, _computed.and)(\"displayForUser\", \"displayForRoute\"),\n    displayChanged() {\n      document.documentElement.classList.toggle(\"display-search-banner\", this.shouldDisplay);\n    },\n    didInsertElement() {\n      this.displayChanged();\n    },\n    didDestroyElement() {\n      document.documentElement.classList.remove(\"display-search-banner\");\n    }\n  }, (_applyDecoratedDescriptor(_obj, \"displayForRoute\", [_dec], Object.getOwnPropertyDescriptor(_obj, \"displayForRoute\"), _obj), _applyDecoratedDescriptor(_obj, \"displayForUser\", [_dec2], Object.getOwnPropertyDescriptor(_obj, \"displayForUser\"), _obj), _applyDecoratedDescriptor(_obj, \"displayChanged\", [_dec3], Object.getOwnPropertyDescriptor(_obj, \"displayChanged\"), _obj)), _obj)));\n  _exports.default = _default;\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-15/discourse/templates/components/search-banner\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if shouldDisplay}}\n    <div class=\"custom-search-banner\">\n      <div class=\"wrap custom-search-banner-wrap\">\n        <h1>{{html-safe (theme-i18n \"search_banner.headline\")}}</h1>\n        <p>{{html-safe (theme-i18n \"search_banner.subhead\")}}</p>\n        {{mount-widget widget=\"search-widget\"}}\n      </div>\n    </div>\n  {{/if}}\n  */\n  {\n    \"id\": null,\n    \"block\": \"[[[41,[33,1],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"custom-search-banner\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"wrap custom-search-banner-wrap\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[12],[1,[28,[35,2],[[28,[37,3],[15,\\\"search_banner.headline\\\"],null]],null]],[13],[1,\\\"\\\\n      \\\"],[10,2],[12],[1,[28,[35,2],[[28,[37,3],[15,\\\"search_banner.subhead\\\"],null]],null]],[13],[1,\\\"\\\\n      \\\"],[1,[28,[35,4],null,[[\\\"widget\\\"],[\\\"search-widget\\\"]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],false,[\\\"if\\\",\\\"shouldDisplay\\\",\\\"html-safe\\\",\\\"theme-i18n\\\",\\\"mount-widget\\\"]]\",\n    \"moduleName\": \"discourse/theme-15/discourse/templates/components/search-banner\",\n    \"isStrictMode\": false\n  });\n  _exports.default = _default;\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-15/search-banner/templates/connectors/above-main-container/search-banner\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{search-banner}}\n  */\n  {\n    \"id\": null,\n    \"block\": \"[[[1,[34,0]]],[],false,[\\\"search-banner\\\"]]\",\n    \"moduleName\": \"discourse/theme-15/search-banner/templates/connectors/above-main-container/search-banner\",\n    \"isStrictMode\": false\n  });\n  _exports.default = _default;\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-15/search-banner/templates/connectors/below-site-header/search-banner\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{search-banner}}\n  */\n  {\n    \"id\": null,\n    \"block\": \"[[[1,[34,0]]],[],false,[\\\"search-banner\\\"]]\",\n    \"moduleName\": \"discourse/theme-15/search-banner/templates/connectors/below-site-header/search-banner\",\n    \"isStrictMode\": false\n  });\n  _exports.default = _default;\n});\n}\n"]}