{"version":3,"sources":["../../../../src/components/VApp/mixins/app-theme.js"],"names":[],"mappings":"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","sourcesContent":["import * as Theme from '../../../util/theme'\n\nexport default {\n  data: () => ({\n    style: null\n  }),\n\n  computed: {\n    parsedTheme () {\n      return Theme.parse(this.$vuetify.theme)\n    },\n    /** @return string */\n    generatedStyles () {\n      const theme = this.parsedTheme\n      let css\n\n      if (this.$vuetify.options.themeCache != null) {\n        css = this.$vuetify.options.themeCache.get(theme)\n        if (css != null) return css\n      }\n\n      css = Theme.genStyles(theme, this.$vuetify.options.customProperties)\n\n      if (this.$vuetify.options.minifyTheme != null) {\n        css = this.$vuetify.options.minifyTheme(css)\n      }\n\n      if (this.$vuetify.options.themeCache != null) {\n        this.$vuetify.options.themeCache.set(theme, css)\n      }\n\n      return css\n    },\n    vueMeta () {\n      if (this.$vuetify.theme === false) return {}\n\n      const options = {\n        cssText: this.generatedStyles,\n        id: 'vuetify-theme-stylesheet',\n        type: 'text/css'\n      }\n\n      if (this.$vuetify.options.cspNonce) {\n        options.nonce = this.$vuetify.options.cspNonce\n      }\n\n      return {\n        style: [options]\n      }\n    }\n  },\n\n  // Regular vue-meta\n  metaInfo () {\n    return this.vueMeta\n  },\n\n  // Nuxt\n  head () {\n    return this.vueMeta\n  },\n\n  watch: {\n    generatedStyles () {\n      !this.meta && this.applyTheme()\n    }\n  },\n\n  created () {\n    if (this.$vuetify.theme === false) return\n\n    if (this.$meta) {\n      // Vue-meta\n      // Handled by metaInfo()/nuxt()\n    } else if (typeof document === 'undefined' && this.$ssrContext) {\n      // SSR\n      const nonce = this.$vuetify.options.cspNonce\n        ? ` nonce=\"${this.$vuetify.options.cspNonce}\"`\n        : ''\n      this.$ssrContext.head = this.$ssrContext.head || ''\n      this.$ssrContext.head += `<style type=\"text/css\" id=\"vuetify-theme-stylesheet\"${nonce}>${this.generatedStyles}</style>`\n    } else if (typeof document !== 'undefined') {\n      // Client-side\n      this.genStyle()\n      this.applyTheme()\n    }\n  },\n\n  methods: {\n    applyTheme () {\n      if (this.style) this.style.innerHTML = this.generatedStyles\n    },\n    genStyle () {\n      let style = document.getElementById('vuetify-theme-stylesheet')\n\n      if (!style) {\n        style = document.createElement('style')\n        style.type = 'text/css'\n        style.id = 'vuetify-theme-stylesheet'\n        if (this.$vuetify.options.cspNonce) {\n          style.setAttribute('nonce', this.$vuetify.options.cspNonce)\n        }\n        document.head.appendChild(style)\n      }\n\n      this.style = style\n    }\n  }\n}\n"],"sourceRoot":""}