{"version":3,"names":["window","require","registerSettings","svg_icons","add_color_scheme_toggle_to_header","define","_exports","_component","_component2","_tracking","_object","_service","_session","_colorSchemeOverride","_templateFactory","_dec","_class","_descriptor","_descriptor2","_initializerDefineProperty","target","property","descriptor","context","Object","defineProperty","enumerable","configurable","writable","value","initializer","call","_applyDecoratedDescriptor","decorators","desc","keys","forEach","key","slice","reverse","reduce","decorator","undefined","default","getObjectForTheme","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","isStrictMode","ColorSchemeToggler","computed","constructor","super","arguments","this","storedOverride","keyValueStore","getItem","COLOR_SCHEME_OVERRIDE_KEY","toggleButtonIcon","OSMode","matchMedia","matches","toggleScheme","removeItem","setItem","currentProp","colorSchemeOverride","prototype","service","tracked","getOwnPropertyDescriptor","action","setComponentTemplate","settings","setupComponent","_args","component","showInSidebar","siteSettings","default_dark_mode_color_scheme_id","_helpers","registerHelper","_ref","_runloop","_colorSchemePicker","_pluginApi","_themeSelector","_colorSchemeToggler","_templateOnly","name","initialize","container","lookup","console","warn","loadColorSchemeStylesheet","currentThemeId","then","document","querySelector","media","schedule","later","addEventListener","withPluginApi","api","headerIcons","add","scope","before","type","lightScheme","darkScheme","logoDarkSrc","origMedia","removeAttribute"],"sourceRoot":"theme-14/","sources":["settings.js","discourse/components/color-scheme-toggler.js","discourse/templates/connectors/sidebar-footer-actions/toggler-button.js","discourse/connectors/sidebar-footer-actions/toggler-button.js","discourse/helpers/media-helper.js","discourse/initializers/color-scheme-toggler.gjs","discourse/lib/color-scheme-override.js"],"sourcesContent":["(function() {\n  if ('require' in window) {\n    require(\"discourse/lib/theme-settings-store\").registerSettings(14, {\"svg_icons\":\"moon|sun\",\"add_color_scheme_toggle_to_header\":false});\n  }\n})();\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/components/color-scheme-toggler\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/models/session\", \"../lib/color-scheme-override\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _service, _session, _colorSchemeOverride, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _dec, _class, _descriptor, _descriptor2;\n  function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }\n  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n  function _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : String(i); }\n  function _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\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  function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }\n  const settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(14);\n  const themePrefix = key => `theme_translations.14.${key}`;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <DButton\n    @action={{action \"toggleScheme\"}}\n    @icon={{this.toggleButtonIcon}}\n    @translatedTitle={{theme-i18n \"toggle_button_title\"}}\n    class=\"color-scheme-toggler btn-flat\"\n  />\n  */\n  {\n    \"id\": null,\n    \"block\": \"[[[8,[39,0],[[24,0,\\\"color-scheme-toggler btn-flat\\\"]],[[\\\"@action\\\",\\\"@icon\\\",\\\"@translatedTitle\\\"],[[28,[37,1],[[30,0],\\\"toggleScheme\\\"],null],[30,0,[\\\"toggleButtonIcon\\\"]],[28,[37,2],[14,\\\"toggle_button_title\\\"],null]]],null]],[],false,[\\\"d-button\\\",\\\"action\\\",\\\"theme-i18n\\\"]]\",\n    \"moduleName\": \"discourse/components/color-scheme-toggler.hbs\",\n    \"isStrictMode\": false\n  });\n  let ColorSchemeToggler = _exports.default = (_dec = (0, _object.computed)(\"storedOverride\"), (_class = class ColorSchemeToggler extends _component2.default {\n    constructor() {\n      super(...arguments);\n      _initializerDefineProperty(this, \"keyValueStore\", _descriptor, this);\n      _initializerDefineProperty(this, \"storedOverride\", _descriptor2, this);\n      this.storedOverride = this.keyValueStore.getItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY);\n    }\n    get toggleButtonIcon() {\n      switch (this.OSMode) {\n        case \"dark\":\n          return this.storedOverride === \"light\" ? \"moon\" : \"sun\";\n        case \"light\":\n          return this.storedOverride === \"dark\" ? \"sun\" : \"moon\";\n      }\n    }\n    get OSMode() {\n      return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n    }\n    toggleScheme() {\n      switch (this.OSMode) {\n        case \"light\":\n          if (this.keyValueStore.getItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY) === \"dark\") {\n            this.keyValueStore.removeItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY);\n          } else {\n            this.keyValueStore.setItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY, \"dark\");\n          }\n          break;\n        case \"dark\":\n          if (this.keyValueStore.getItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY) !== \"light\") {\n            this.keyValueStore.setItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY, \"light\");\n          } else {\n            this.keyValueStore.removeItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY);\n          }\n          break;\n      }\n      this.storedOverride = this.keyValueStore.getItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY) || null;\n\n      // currently only used to flip category logos back/forth\n      _session.default.currentProp(\"colorSchemeOverride\", this.storedOverride);\n      (0, _colorSchemeOverride.colorSchemeOverride)(this.storedOverride);\n    }\n  }, (_descriptor = _applyDecoratedDescriptor(_class.prototype, \"keyValueStore\", [_service.service], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _descriptor2 = _applyDecoratedDescriptor(_class.prototype, \"storedOverride\", [_tracking.tracked], {\n    configurable: true,\n    enumerable: true,\n    writable: true,\n    initializer: null\n  }), _applyDecoratedDescriptor(_class.prototype, \"toggleButtonIcon\", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, \"toggleButtonIcon\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"toggleScheme\", [_object.action], Object.getOwnPropertyDescriptor(_class.prototype, \"toggleScheme\"), _class.prototype)), _class));\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ColorSchemeToggler);\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/templates/connectors/sidebar-footer-actions/toggler-button\", [\"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 = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.showInSidebar}}\n    <ColorSchemeToggler />\n  {{/if}}\n  */\n  {\n    \"id\": null,\n    \"block\": \"[[[41,[30,0,[\\\"showInSidebar\\\"]],[[[1,\\\"  \\\"],[8,[39,1],null,null,null],[1,\\\"\\\\n\\\"]],[]],null]],[],false,[\\\"if\\\",\\\"color-scheme-toggler\\\"]]\",\n    \"moduleName\": \"discourse/theme-14/discourse/templates/connectors/sidebar-footer-actions/toggler-button\",\n    \"isStrictMode\": false\n  });\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/connectors/sidebar-footer-actions/toggler-button\", [\"exports\", \"discourse/models/session\"], function (_exports, _session) {\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(14);\n  const themePrefix = key => `theme_translations.14.${key}`;\n  var _default = _exports.default = {\n    setupComponent(_args, component) {\n      component.showInSidebar = false;\n      if (!_session.default.currentProp(\"darkModeAvailable\") && component.siteSettings.default_dark_mode_color_scheme_id < 0) {\n        return;\n      }\n      if (!settings.add_color_scheme_toggle_to_header) {\n        component.showInSidebar = true;\n      }\n    }\n  };\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/helpers/media-helper\", [\"discourse-common/lib/helpers\"], function (_helpers) {\n  \"use strict\";\n\n  const settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(14);\n  const themePrefix = key => `theme_translations.14.${key}`;\n  (0, _helpers.registerHelper)(\"media-helper\", function (_ref) {\n    let [value] = _ref;\n    switch (value) {\n      case \"dark\":\n        return \"all\";\n      case \"light\":\n        return \"none\";\n      default:\n        return \"(prefers-color-scheme: dark)\";\n    }\n  });\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/initializers/color-scheme-toggler\", [\"exports\", \"@ember/runloop\", \"discourse/lib/color-scheme-picker\", \"discourse/lib/plugin-api\", \"discourse/lib/theme-selector\", \"discourse/models/session\", \"../components/color-scheme-toggler\", \"../lib/color-scheme-override\", \"@ember/template-factory\", \"@ember/component\", \"@ember/component/template-only\"], function (_exports, _runloop, _colorSchemePicker, _pluginApi, _themeSelector, _session, _colorSchemeToggler, _colorSchemeOverride, _templateFactory, _component, _templateOnly) {\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(14);\n  const themePrefix = key1 => `theme_translations.14.${key1}`;\n  var _default = _exports.default = {\n    name: \"color-scheme-toggler\",\n    initialize(container) {\n      const keyValueStore = container.lookup(\"service:key-value-store\");\n      const storedOverride = keyValueStore.getItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY);\n      if (!_session.default.currentProp(\"darkModeAvailable\")) {\n        const siteSettings = container.lookup(\"service:site-settings\");\n        if (siteSettings.default_dark_mode_color_scheme_id > 0) {\n          (0, _colorSchemePicker.loadColorSchemeStylesheet)(siteSettings.default_dark_mode_color_scheme_id, (0, _themeSelector.currentThemeId)(), true).then(() => {\n            if (storedOverride) {\n              (0, _colorSchemeOverride.colorSchemeOverride)(storedOverride);\n            } else {\n              // ensures that this extra stylesheet isn't auto-used when OS is in dark mode\n              document.querySelector(\"link#cs-preview-dark\").media = \"(prefers-color-scheme: none)\";\n            }\n          });\n        } else {\n          // eslint-disable-next-line no-console\n          console.warn(\"No dark color scheme available, the discourse-color-scheme-toggle component has no effect.\");\n          return;\n        }\n      }\n      if (storedOverride) {\n        _session.default.currentProp(\"colorSchemeOverride\", storedOverride);\n      }\n      if (_session.default.currentProp(\"darkModeAvailable\") && storedOverride) {\n        (0, _runloop.schedule)(\"afterRender\", () => {\n          const logoDarkSrc1 = document.querySelector(\".title picture source\");\n          // in some cases the logo widget is not yet rendered\n          // so we schedule the calculation after a short delay\n          if (!logoDarkSrc1) {\n            (0, _runloop.later)(() => (0, _colorSchemeOverride.colorSchemeOverride)(storedOverride), 500);\n          } else {\n            (0, _colorSchemeOverride.colorSchemeOverride)(storedOverride);\n          }\n        });\n      }\n      window.matchMedia(\"(prefers-color-scheme: dark)\").addEventListener(\"change\", () => {\n        // reset when switching OS dark mode\n        keyValueStore.removeItem(_colorSchemeOverride.COLOR_SCHEME_OVERRIDE_KEY);\n        _session.default.currentProp(\"colorSchemeOverride\", null);\n        (0, _colorSchemeOverride.colorSchemeOverride)();\n      });\n      if (settings.add_color_scheme_toggle_to_header) {\n        (0, _pluginApi.withPluginApi)(\"1.28.0\", api => {\n          api.headerIcons.add(\"header-toggle-button\", (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n          /*\n            \n                      <li class=\"header-toggle-button header-dropdown-toggle\">\n                        <span class=\"header-color-scheme-toggle icon\">\n                          <ColorSchemeToggler />\n                        </span>\n                      </li>\n                    \n          */\n          {\n            \"id\": null,\n            \"block\": \"[[[1,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[14,0,\\\"header-toggle-button header-dropdown-toggle\\\"],[12],[1,\\\"\\\\n              \\\"],[10,1],[14,0,\\\"header-color-scheme-toggle icon\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[32,0],null,null,null],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"]],[],false,[]]\",\n            \"moduleName\": \"/discourse/theme-14/discourse/initializers/color-scheme-toggler\",\n            \"scope\": () => [_colorSchemeToggler.default],\n            \"isStrictMode\": true\n          }), (0, _templateOnly.default)()), {\n            before: \"search\"\n          });\n        });\n      }\n    }\n  };\n});\n}\n","if ('define' in window) {\ndefine(\"discourse/theme-14/discourse/lib/color-scheme-override\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.COLOR_SCHEME_OVERRIDE_KEY = void 0;\n  _exports.colorSchemeOverride = colorSchemeOverride;\n  const settings = require(\"discourse/lib/theme-settings-store\").getObjectForTheme(14);\n  const themePrefix = key => `theme_translations.14.${key}`;\n  const COLOR_SCHEME_OVERRIDE_KEY = _exports.COLOR_SCHEME_OVERRIDE_KEY = \"color_scheme_override\";\n  function colorSchemeOverride(type) {\n    const lightScheme = document.querySelector(\"link.light-scheme\");\n    const darkScheme = document.querySelector(\"link.dark-scheme\") || document.querySelector(\"link#cs-preview-dark\");\n    if (!lightScheme && !darkScheme) {\n      return;\n    }\n    const logoDarkSrc = document.querySelector(\".title picture source\");\n    switch (type) {\n      case \"dark\":\n        lightScheme.origMedia = lightScheme.media;\n        lightScheme.media = \"none\";\n        darkScheme.origMedia = darkScheme.media;\n        darkScheme.media = \"all\";\n        if (logoDarkSrc) {\n          logoDarkSrc.origMedia = logoDarkSrc.media;\n          logoDarkSrc.media = \"all\";\n        }\n        break;\n      case \"light\":\n        lightScheme.origMedia = lightScheme.media;\n        lightScheme.media = \"all\";\n        darkScheme.origMedia = darkScheme.media;\n        darkScheme.media = \"none\";\n        if (logoDarkSrc) {\n          logoDarkSrc.origMedia = logoDarkSrc.media;\n          logoDarkSrc.media = \"none\";\n        }\n        break;\n      default:\n        if (lightScheme.origMedia) {\n          lightScheme.media = lightScheme.origMedia;\n          lightScheme.removeAttribute(\"origMedia\");\n        }\n        if (darkScheme.origMedia) {\n          darkScheme.media = darkScheme.origMedia;\n          darkScheme.removeAttribute(\"origMedia\");\n        }\n        if (logoDarkSrc?.origMedia) {\n          logoDarkSrc.media = logoDarkSrc.origMedia;\n        }\n        break;\n    }\n  }\n});\n}\n"],"mappings":"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"}