1 |
- {"version":3,"file":"theming-admin-theming.js?v=98dc9c768dbb1095e0e6","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/apps/theming/src/mixins/admin/FieldMixin.js","webpack:///nextcloud/apps/theming/src/mixins/admin/TextValueMixin.js","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?c5ca","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?8981","webpack://nextcloud/./apps/theming/src/components/admin/CheckboxField.vue?f479","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?49ae","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?977d","webpack://nextcloud/./apps/theming/src/components/admin/ColorPickerField.vue?fdaf","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?fcb2","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?4d24","webpack://nextcloud/./apps/theming/src/components/admin/FileInputField.vue?2d6f","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?2236","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?c7b6","webpack://nextcloud/./apps/theming/src/components/admin/TextField.vue?e6c1","webpack:///nextcloud/apps/theming/src/AdminTheming.vue","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?8b95","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?6138","webpack://nextcloud/./apps/theming/src/AdminTheming.vue?e575","webpack:///nextcloud/apps/theming/src/admin-settings.js","webpack:///nextcloud/apps/theming/src/helpers/refreshStyles.js","webpack:///nextcloud/apps/theming/src/AdminTheming.vue?vue&type=style&index=0&id=4f7ac635&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/theming/src/components/admin/CheckboxField.vue?vue&type=style&index=0&id=17145f08&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/theming/src/components/admin/ColorPickerField.vue?vue&type=style&index=0&id=73de0887&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/theming/src/components/admin/FileInputField.vue?vue&type=style&index=0&id=3d620660&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/theming/src/components/admin/TextField.vue?vue&type=style&index=0&id=21244e1d&prod&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nconst styleRefreshFields = [\n\t'color',\n\t'logo',\n\t'background',\n\t'logoheader',\n\t'favicon',\n\t'disable-user-theming',\n]\n\nexport default {\n\temits: [\n\t\t'update:theming',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tshowSuccess: false,\n\t\t\terrorMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tid() {\n\t\t\treturn `admin-theming-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\treset() {\n\t\t\tthis.showSuccess = false\n\t\t\tthis.errorMessage = ''\n\t\t},\n\n\t\thandleSuccess() {\n\t\t\tthis.showSuccess = true\n\t\t\tsetTimeout(() => { this.showSuccess = false }, 2000)\n\t\t\tif (styleRefreshFields.includes(this.name)) {\n\t\t\t\tthis.$emit('update:theming')\n\t\t\t}\n\t\t},\n\t},\n}\n","/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport FieldMixin from './FieldMixin.js'\n\nexport default {\n\tmixins: [\n\t\tFieldMixin,\n\t],\n\n\twatch: {\n\t\tvalue(value) {\n\t\t\tthis.localValue = value\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalValue: this.value,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync save() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/updateStylesheet')\n\t\t\t// Convert boolean to string as server expects string value\n\t\t\tconst valueToPost = this.localValue === true ? 'yes' : this.localValue === false ? 'no' : this.localValue\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t\tvalue: valueToPost,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.localValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\n\t\tasync undo() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/undoChanges')\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.name,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:value', this.defaultValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\t},\n}\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<div class=\"field\">\n\t\t<label :for=\"id\">{{ displayName }}</label>\n\t\t<div class=\"field__row\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t\t:id=\"id\"\n\t\t\t\t:checked.sync=\"localValue\"\n\t\t\t\t@update:checked=\"save\">\n\t\t\t\t{{ label }}\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\n\t\t<p class=\"field__description\">{{ description }}</p>\n\n\t\t<NcNoteCard v-if=\"errorMessage\"\n\t\t\ttype=\"error\"\n\t\t\t:show-alert=\"true\">\n\t\t\t<p>{{ errorMessage }}</p>\n\t\t</NcNoteCard>\n\t</div>\n</template>\n\n<script>\nimport {\n\tNcCheckboxRadioSwitch,\n\tNcNoteCard,\n} from '@nextcloud/vue'\n\nimport TextValueMixin from '../../mixins/admin/TextValueMixin.js'\n\nexport default {\n\tname: 'CheckboxField',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t\tNcNoteCard,\n\t},\n\n\tmixins: [\n\t\tTextValueMixin,\n\t],\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tdefaultValue: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './shared/field.scss';\n\n.field {\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n</style>\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=17145f08&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxField.vue?vue&type=style&index=0&id=17145f08&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CheckboxField.vue?vue&type=template&id=17145f08&scoped=true&\"\nimport script from \"./CheckboxField.vue?vue&type=script&lang=js&\"\nexport * from \"./CheckboxField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CheckboxField.vue?vue&type=style&index=0&id=17145f08&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"17145f08\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"id\":_vm.id,\"checked\":_vm.localValue},on:{\"update:checked\":[function($event){_vm.localValue=$event},_vm.save]}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.label)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"field__description\"},[_vm._v(_vm._s(_vm.description))]),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<div class=\"field\">\n\t\t<label :for=\"id\">{{ displayName }}</label>\n\t\t<div class=\"field__row\">\n\t\t\t<NcColorPicker :value.sync=\"localValue\"\n\t\t\t\t:advanced-fields=\"true\"\n\t\t\t\t@update:value=\"debounceSave\">\n\t\t\t\t<NcButton class=\"field__button\"\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t:id=\"id\"\n\t\t\t\t\t:aria-label=\"t('theming', 'Select a custom color')\"\n\t\t\t\t\tdata-admin-theming-setting-primary-color-picker>\n\t\t\t\t\t{{ value }}\n\t\t\t\t</NcButton>\n\t\t\t</NcColorPicker>\n\t\t\t<NcButton v-if=\"value !== defaultValue\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\t:aria-label=\"t('theming', 'Reset to default')\"\n\t\t\t\tdata-admin-theming-setting-primary-color-reset\n\t\t\t\t@click=\"undo\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Undo :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</div>\n\n\t\t<NcNoteCard v-if=\"errorMessage\"\n\t\t\ttype=\"error\"\n\t\t\t:show-alert=\"true\">\n\t\t\t<p>{{ errorMessage }}</p>\n\t\t</NcNoteCard>\n\t</div>\n</template>\n\n<script>\nimport { debounce } from 'debounce'\nimport {\n\tNcButton,\n\tNcColorPicker,\n\tNcNoteCard,\n} from '@nextcloud/vue'\nimport Undo from 'vue-material-design-icons/UndoVariant.vue'\n\nimport TextValueMixin from '../../mixins/admin/TextValueMixin.js'\n\nexport default {\n\tname: 'ColorPickerField',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcColorPicker,\n\t\tNcNoteCard,\n\t\tUndo,\n\t},\n\n\tmixins: [\n\t\tTextValueMixin,\n\t],\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdefaultValue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\tdebounceSave: debounce(async function() {\n\t\t\tawait this.save()\n\t\t}, 200),\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './shared/field.scss';\n\n.field {\n\t// Override default NcButton styles\n\t&__button {\n\t\twidth: 230px !important;\n\t\tborder-radius: var(--border-radius-large) !important;\n\t\tbackground-color: var(--color-primary-default) !important;\n\n\t\t// emulated hover state because it would not make sense\n\t\t// to create a dedicated global variable for the color-primary-default\n\t\t&:hover::after {\n\t\t\tbackground-color: white;\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\topacity: .2;\n\t\t\tfilter: var(--primary-invert-if-bright);\n\t\t}\n\n\t\t// Above the ::after\n\t\t&::v-deep * {\n\t\t\tz-index: 1;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=73de0887&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColorPickerField.vue?vue&type=style&index=0&id=73de0887&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ColorPickerField.vue?vue&type=template&id=73de0887&scoped=true&\"\nimport script from \"./ColorPickerField.vue?vue&type=script&lang=js&\"\nexport * from \"./ColorPickerField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ColorPickerField.vue?vue&type=style&index=0&id=73de0887&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73de0887\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcColorPicker',{attrs:{\"value\":_vm.localValue,\"advanced-fields\":true},on:{\"update:value\":[function($event){_vm.localValue=$event},_vm.debounceSave]}},[_c('NcButton',{staticClass:\"field__button\",attrs:{\"type\":\"primary\",\"id\":_vm.id,\"aria-label\":_vm.t('theming', 'Select a custom color'),\"data-admin-theming-setting-primary-color-picker\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.value)+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),(_vm.value !== _vm.defaultValue)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-primary-color-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e()],1),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<div class=\"field\">\n\t\t<label :for=\"id\">{{ displayName }}</label>\n\t\t<div class=\"field__row\">\n\t\t\t<NcButton type=\"secondary\"\n\t\t\t\t:id=\"id\"\n\t\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t\tdata-admin-theming-setting-file-picker\n\t\t\t\t@click=\"activateLocalFilePicker\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Upload :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('theming', 'Upload') }}\n\t\t\t</NcButton>\n\t\t\t<NcButton v-if=\"showReset\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\t:aria-label=\"t('theming', 'Reset to default')\"\n\t\t\t\tdata-admin-theming-setting-file-reset\n\t\t\t\t@click=\"undo\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Undo :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcButton v-if=\"showRemove\"\n\t\t\t\ttype=\"tertiary\"\n\t\t\t\t:aria-label=\"t('theming', 'Remove background image')\"\n\t\t\t\tdata-admin-theming-setting-file-remove\n\t\t\t\t@click=\"removeBackground\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcLoadingIcon v-if=\"showLoading\"\n\t\t\t\tclass=\"field__loading-icon\"\n\t\t\t\t:size=\"20\" />\n\t\t</div>\n\n\t\t<div v-if=\"(name === 'logoheader' || name === 'favicon') && mimeValue !== defaultMimeValue\"\n\t\t\tclass=\"field__preview\"\n\t\t\t:class=\"{\n\t\t\t\t'field__preview--logoheader': name === 'logoheader',\n\t\t\t\t'field__preview--favicon': name === 'favicon',\n\t\t\t}\" />\n\n\t\t<NcNoteCard v-if=\"errorMessage\"\n\t\t\ttype=\"error\"\n\t\t\t:show-alert=\"true\">\n\t\t\t<p>{{ errorMessage }}</p>\n\t\t</NcNoteCard>\n\n\t\t<input ref=\"input\"\n\t\t\ttype=\"file\"\n\t\t\t@change=\"onChange\">\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\n\nimport {\n\tNcButton,\n\tNcLoadingIcon,\n\tNcNoteCard,\n} from '@nextcloud/vue'\nimport Delete from 'vue-material-design-icons/Delete.vue'\nimport Undo from 'vue-material-design-icons/UndoVariant.vue'\nimport Upload from 'vue-material-design-icons/Upload.vue'\n\nimport FieldMixin from '../../mixins/admin/FieldMixin.js'\n\nexport default {\n\tname: 'FileInputField',\n\n\tcomponents: {\n\t\tDelete,\n\t\tNcButton,\n\t\tNcLoadingIcon,\n\t\tNcNoteCard,\n\t\tUndo,\n\t\tUpload,\n\t},\n\n\tmixins: [\n\t\tFieldMixin,\n\t],\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmimeName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmimeValue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdefaultMimeValue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowLoading: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tshowReset() {\n\t\t\treturn this.mimeValue !== this.defaultMimeValue\n\t\t},\n\n\t\tshowRemove() {\n\t\t\tif (this.name === 'background') {\n\t\t\t\tif (this.mimeValue.startsWith('image/')) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t\tif (this.mimeValue === this.defaultMimeValue) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t},\n\n\tmethods: {\n\t\tactivateLocalFilePicker() {\n\t\t\tthis.reset()\n\t\t\t// Set to null so that selecting the same file will trigger the change event\n\t\t\tthis.$refs.input.value = null\n\t\t\tthis.$refs.input.click()\n\t\t},\n\n\t\tasync onChange(e) {\n\t\t\tconst file = e.target.files[0]\n\n\t\t\tconst formData = new FormData()\n\t\t\tformData.append('key', this.name)\n\t\t\tformData.append('image', file)\n\n\t\t\tconst url = generateUrl('/apps/theming/ajax/uploadImage')\n\t\t\ttry {\n\t\t\t\tthis.showLoading = true\n\t\t\t\tawait axios.post(url, formData)\n\t\t\t\tthis.showLoading = false\n\t\t\t\tthis.$emit('update:mime-value', file.type)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.showLoading = false\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\n\t\tasync undo() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/undoChanges')\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.mimeName,\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:mime-value', this.defaultMimeValue)\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\n\t\tasync removeBackground() {\n\t\t\tthis.reset()\n\t\t\tconst url = generateUrl('/apps/theming/ajax/updateStylesheet')\n\t\t\ttry {\n\t\t\t\tawait axios.post(url, {\n\t\t\t\t\tsetting: this.mimeName,\n\t\t\t\t\tvalue: 'backgroundColor',\n\t\t\t\t})\n\t\t\t\tthis.$emit('update:mime-value', 'backgroundColor')\n\t\t\t\tthis.handleSuccess()\n\t\t\t} catch (e) {\n\t\t\t\tthis.errorMessage = e.response.data.data?.message\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import './shared/field.scss';\n\n.field {\n\t&__loading-icon {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t}\n\n\t&__preview {\n\t\twidth: 70px;\n\t\theight: 70px;\n\t\tbackground-size: contain;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t\tmargin: 10px 0;\n\n\t\t&--logoheader {\n\t\t\tbackground-image: var(--image-logoheader);\n\t\t}\n\n\t\t&--favicon {\n\t\t\tbackground-image: var(--image-favicon);\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=3d620660&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInputField.vue?vue&type=style&index=0&id=3d620660&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileInputField.vue?vue&type=template&id=3d620660&scoped=true&\"\nimport script from \"./FileInputField.vue?vue&type=script&lang=js&\"\nexport * from \"./FileInputField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FileInputField.vue?vue&type=style&index=0&id=3d620660&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d620660\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.displayName))]),_vm._v(\" \"),_c('div',{staticClass:\"field__row\"},[_c('NcButton',{attrs:{\"type\":\"secondary\",\"id\":_vm.id,\"aria-label\":_vm.ariaLabel,\"data-admin-theming-setting-file-picker\":\"\"},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}])},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('theming', 'Upload'))+\"\\n\\t\\t\")]),_vm._v(\" \"),(_vm.showReset)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Reset to default'),\"data-admin-theming-setting-file-reset\":\"\"},on:{\"click\":_vm.undo},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Undo',{attrs:{\"size\":20}})]},proxy:true}],null,false,33666776)}):_vm._e(),_vm._v(\" \"),(_vm.showRemove)?_c('NcButton',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('theming', 'Remove background image'),\"data-admin-theming-setting-file-remove\":\"\"},on:{\"click\":_vm.removeBackground},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e(),_vm._v(\" \"),(_vm.showLoading)?_c('NcLoadingIcon',{staticClass:\"field__loading-icon\",attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),((_vm.name === 'logoheader' || _vm.name === 'favicon') && _vm.mimeValue !== _vm.defaultMimeValue)?_c('div',{staticClass:\"field__preview\",class:{\n\t\t\t'field__preview--logoheader': _vm.name === 'logoheader',\n\t\t\t'field__preview--favicon': _vm.name === 'favicon',\n\t\t}}):_vm._e(),_vm._v(\" \"),(_vm.errorMessage)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.errorMessage))])]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"type\":\"file\"},on:{\"change\":_vm.onChange}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=script&lang=js&\"","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<div class=\"field\">\n\t\t<NcTextField :value.sync=\"localValue\"\n\t\t\t:label=\"displayName\"\n\t\t\t:label-visible=\"true\"\n\t\t\t:placeholder=\"placeholder\"\n\t\t\t:type=\"type\"\n\t\t\t:maxlength=\"maxlength\"\n\t\t\t:spellcheck=\"false\"\n\t\t\t:success=\"showSuccess\"\n\t\t\t:error=\"Boolean(errorMessage)\"\n\t\t\t:helper-text=\"errorMessage\"\n\t\t\t:show-trailing-button=\"value !== defaultValue\"\n\t\t\ttrailing-button-icon=\"undo\"\n\t\t\t@trailing-button-click=\"undo\"\n\t\t\t@keydown.enter=\"save\"\n\t\t\t@blur=\"save\" />\n\t</div>\n</template>\n\n<script>\nimport { NcTextField } from '@nextcloud/vue'\n\nimport TextValueMixin from '../../mixins/admin/TextValueMixin.js'\n\nexport default {\n\tname: 'TextField',\n\n\tcomponents: {\n\t\tNcTextField,\n\t},\n\n\tmixins: [\n\t\tTextValueMixin,\n\t],\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdefaultValue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmaxlength: {\n\t\t\ttype: Number,\n\t\t\trequired: true,\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.field {\n\tmax-width: 400px;\n}\n</style>\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=21244e1d&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextField.vue?vue&type=style&index=0&id=21244e1d&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./TextField.vue?vue&type=template&id=21244e1d&scoped=true&\"\nimport script from \"./TextField.vue?vue&type=script&lang=js&\"\nexport * from \"./TextField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TextField.vue?vue&type=style&index=0&id=21244e1d&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21244e1d\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"field\"},[_c('NcTextField',{attrs:{\"value\":_vm.localValue,\"label\":_vm.displayName,\"label-visible\":true,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"maxlength\":_vm.maxlength,\"spellcheck\":false,\"success\":_vm.showSuccess,\"error\":Boolean(_vm.errorMessage),\"helper-text\":_vm.errorMessage,\"show-trailing-button\":_vm.value !== _vm.defaultValue,\"trailing-button-icon\":\"undo\"},on:{\"update:value\":function($event){_vm.localValue=$event},\"trailing-button-click\":_vm.undo,\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.save.apply(null, arguments)},\"blur\":_vm.save}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - @copyright 2022 Christopher Ng <chrng8@gmail.com>\n -\n - @author Christopher Ng <chrng8@gmail.com>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n-->\n\n<template>\n\t<section>\n\t\t<NcSettingsSection :title=\"t('theming', 'Theming')\"\n\t\t\t:description=\"t('theming', 'Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users.')\"\n\t\t\t:doc-url=\"docUrl\"\n\t\t\tdata-admin-theming-settings>\n\t\t\t<div class=\"admin-theming\">\n\t\t\t\t<NcNoteCard v-if=\"!isThemable\"\n\t\t\t\t\ttype=\"error\"\n\t\t\t\t\t:show-alert=\"true\">\n\t\t\t\t\t<p>{{ notThemableErrorMessage }}</p>\n\t\t\t\t</NcNoteCard>\n\n\t\t\t\t<!-- Name, web link, slogan... fields -->\n\t\t\t\t<TextField v-for=\"field in textFields\"\n\t\t\t\t\t:key=\"field.name\"\n\t\t\t\t\t:data-admin-theming-setting-field=\"field.name\"\n\t\t\t\t\t:default-value=\"field.defaultValue\"\n\t\t\t\t\t:display-name=\"field.displayName\"\n\t\t\t\t\t:maxlength=\"field.maxlength\"\n\t\t\t\t\t:name=\"field.name\"\n\t\t\t\t\t:placeholder=\"field.placeholder\"\n\t\t\t\t\t:type=\"field.type\"\n\t\t\t\t\t:value.sync=\"field.value\"\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\n\t\t\t\t<!-- Primary color picker -->\n\t\t\t\t<ColorPickerField :name=\"colorPickerField.name\"\n\t\t\t\t\t:default-value=\"colorPickerField.defaultValue\"\n\t\t\t\t\t:display-name=\"colorPickerField.displayName\"\n\t\t\t\t\t:value.sync=\"colorPickerField.value\"\n\t\t\t\t\tdata-admin-theming-setting-primary-color\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\n\t\t\t\t<!-- Default background picker -->\n\t\t\t\t<FileInputField v-for=\"field in fileInputFields\"\n\t\t\t\t\t:key=\"field.name\"\n\t\t\t\t\t:aria-label=\"field.ariaLabel\"\n\t\t\t\t\t:data-admin-theming-setting-file=\"field.name\"\n\t\t\t\t\t:default-mime-value=\"field.defaultMimeValue\"\n\t\t\t\t\t:display-name=\"field.displayName\"\n\t\t\t\t\t:mime-name=\"field.mimeName\"\n\t\t\t\t\t:mime-value.sync=\"field.mimeValue\"\n\t\t\t\t\t:name=\"field.name\"\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\t\t\t\t<div class=\"admin-theming__preview\" data-admin-theming-preview>\n\t\t\t\t\t<div class=\"admin-theming__preview-logo\" data-admin-theming-preview-logo />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NcSettingsSection>\n\t\t<NcSettingsSection :title=\"t('theming', 'Advanced options')\">\n\t\t\t<div class=\"admin-theming-advanced\">\n\t\t\t\t<TextField v-for=\"field in advancedTextFields\"\n\t\t\t\t\t:key=\"field.name\"\n\t\t\t\t\t:name=\"field.name\"\n\t\t\t\t\t:value.sync=\"field.value\"\n\t\t\t\t\t:default-value=\"field.defaultValue\"\n\t\t\t\t\t:type=\"field.type\"\n\t\t\t\t\t:display-name=\"field.displayName\"\n\t\t\t\t\t:placeholder=\"field.placeholder\"\n\t\t\t\t\t:maxlength=\"field.maxlength\"\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\t\t\t\t<FileInputField v-for=\"field in advancedFileInputFields\"\n\t\t\t\t\t:key=\"field.name\"\n\t\t\t\t\t:name=\"field.name\"\n\t\t\t\t\t:mime-name=\"field.mimeName\"\n\t\t\t\t\t:mime-value.sync=\"field.mimeValue\"\n\t\t\t\t\t:default-mime-value=\"field.defaultMimeValue\"\n\t\t\t\t\t:display-name=\"field.displayName\"\n\t\t\t\t\t:aria-label=\"field.ariaLabel\"\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\t\t\t\t<CheckboxField :name=\"userThemingField.name\"\n\t\t\t\t\t:value=\"userThemingField.value\"\n\t\t\t\t\t:default-value=\"userThemingField.defaultValue\"\n\t\t\t\t\t:display-name=\"userThemingField.displayName\"\n\t\t\t\t\t:label=\"userThemingField.label\"\n\t\t\t\t\t:description=\"userThemingField.description\"\n\t\t\t\t\tdata-admin-theming-setting-disable-user-theming\n\t\t\t\t\t@update:theming=\"$emit('update:theming')\" />\n\t\t\t\t<a v-if=\"!canThemeIcons\"\n\t\t\t\t\t:href=\"docUrlIcons\"\n\t\t\t\t\trel=\"noreferrer noopener\">\n\t\t\t\t\t<em>{{ t('theming', 'Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.') }}</em>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</NcSettingsSection>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport {\n\tNcNoteCard,\n\tNcSettingsSection,\n} from '@nextcloud/vue'\nimport CheckboxField from './components/admin/CheckboxField.vue'\nimport ColorPickerField from './components/admin/ColorPickerField.vue'\nimport FileInputField from './components/admin/FileInputField.vue'\nimport TextField from './components/admin/TextField.vue'\n\nconst {\n\tbackgroundMime,\n\tcanThemeIcons,\n\tcolor,\n\tdocUrl,\n\tdocUrlIcons,\n\tfaviconMime,\n\tisThemable,\n\tlegalNoticeUrl,\n\tlogoheaderMime,\n\tlogoMime,\n\tname,\n\tnotThemableErrorMessage,\n\tprivacyPolicyUrl,\n\tslogan,\n\turl,\n\tuserThemingDisabled,\n} = loadState('theming', 'adminThemingParameters')\n\nconst textFields = [\n\t{\n\t\tname: 'name',\n\t\tvalue: name,\n\t\tdefaultValue: 'Nextcloud',\n\t\ttype: 'text',\n\t\tdisplayName: t('theming', 'Name'),\n\t\tplaceholder: t('theming', 'Name'),\n\t\tmaxlength: 250,\n\t},\n\t{\n\t\tname: 'url',\n\t\tvalue: url,\n\t\tdefaultValue: 'https://nextcloud.com',\n\t\ttype: 'url',\n\t\tdisplayName: t('theming', 'Web link'),\n\t\tplaceholder: 'https://…',\n\t\tmaxlength: 500,\n\t},\n\t{\n\t\tname: 'slogan',\n\t\tvalue: slogan,\n\t\tdefaultValue: t('theming', 'a safe home for all your data'),\n\t\ttype: 'text',\n\t\tdisplayName: t('theming', 'Slogan'),\n\t\tplaceholder: t('theming', 'Slogan'),\n\t\tmaxlength: 500,\n\t},\n]\n\nconst colorPickerField = {\n\tname: 'color',\n\tvalue: color,\n\tdefaultValue: '#0082c9',\n\tdisplayName: t('theming', 'Color'),\n}\n\nconst fileInputFields = [\n\t{\n\t\tname: 'logo',\n\t\tmimeName: 'logoMime',\n\t\tmimeValue: logoMime,\n\t\tdefaultMimeValue: '',\n\t\tdisplayName: t('theming', 'Logo'),\n\t\tariaLabel: t('theming', 'Upload new logo'),\n\t},\n\t{\n\t\tname: 'background',\n\t\tmimeName: 'backgroundMime',\n\t\tmimeValue: backgroundMime,\n\t\tdefaultMimeValue: '',\n\t\tdisplayName: t('theming', 'Background and login image'),\n\t\tariaLabel: t('theming', 'Upload new background and login image'),\n\t},\n]\n\nconst advancedTextFields = [\n\t{\n\t\tname: 'imprintUrl',\n\t\tvalue: legalNoticeUrl,\n\t\tdefaultValue: '',\n\t\ttype: 'url',\n\t\tdisplayName: t('theming', 'Legal notice link'),\n\t\tplaceholder: 'https://…',\n\t\tmaxlength: 500,\n\t},\n\t{\n\t\tname: 'privacyUrl',\n\t\tvalue: privacyPolicyUrl,\n\t\tdefaultValue: '',\n\t\ttype: 'url',\n\t\tdisplayName: t('theming', 'Privacy policy link'),\n\t\tplaceholder: 'https://…',\n\t\tmaxlength: 500,\n\t},\n]\n\nconst advancedFileInputFields = [\n\t{\n\t\tname: 'logoheader',\n\t\tmimeName: 'logoheaderMime',\n\t\tmimeValue: logoheaderMime,\n\t\tdefaultMimeValue: '',\n\t\tdisplayName: t('theming', 'Header logo'),\n\t\tariaLabel: t('theming', 'Upload new header logo'),\n\t},\n\t{\n\t\tname: 'favicon',\n\t\tmimeName: 'faviconMime',\n\t\tmimeValue: faviconMime,\n\t\tdefaultMimeValue: '',\n\t\tdisplayName: t('theming', 'Favicon'),\n\t\tariaLabel: t('theming', 'Upload new favicon'),\n\t},\n]\n\nconst userThemingField = {\n\tname: 'disable-user-theming',\n\tvalue: userThemingDisabled,\n\tdefaultValue: false,\n\tdisplayName: t('theming', 'User settings'),\n\tlabel: t('theming', 'Disable user theming'),\n\tdescription: t('theming', 'Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.'),\n}\n\nexport default {\n\tname: 'AdminTheming',\n\n\tcomponents: {\n\t\tCheckboxField,\n\t\tColorPickerField,\n\t\tFileInputField,\n\t\tNcNoteCard,\n\t\tNcSettingsSection,\n\t\tTextField,\n\t},\n\n\temits: [\n\t\t'update:theming',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\ttextFields,\n\t\t\tcolorPickerField,\n\t\t\tfileInputFields,\n\t\t\tadvancedTextFields,\n\t\t\tadvancedFileInputFields,\n\t\t\tuserThemingField,\n\n\t\t\tcanThemeIcons,\n\t\t\tdocUrl,\n\t\t\tdocUrlIcons,\n\t\t\tisThemable,\n\t\t\tnotThemableErrorMessage,\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.admin-theming,\n.admin-theming-advanced {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 8px 0;\n}\n\n.admin-theming {\n\t&__preview {\n\t\twidth: 230px;\n\t\theight: 140px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\ttext-align: center;\n\t\tmargin-top: 10px;\n\t\t/* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css\n\t\t But without the user variables. That way the admin can preview the render as guest*/\n\t\t/* As guest, there is no user color color-background-plain */\n\t\tbackground-color: var(--color-primary-default, #0082c9);\n\t\t/* As guest, there is no user background (--image-background)\n\t\t1. Empty background if defined\n\t\t2. Else default background\n\t\t3. Finally default gradient (should not happened, the background is always defined anyway) */\n\t\tbackground-image: var(--image-background-plain, var(--image-background-default, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));\n\n\t\t&-logo {\n\t\t\twidth: 20%;\n\t\t\theight: 20%;\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: inline-block;\n\t\t\tbackground-size: contain;\n\t\t\tbackground-position: center;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-image: var(--image-logo, url('../../../core/img/logo/logo.svg'));\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=script&lang=js&\"","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=4f7ac635&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminTheming.vue?vue&type=style&index=0&id=4f7ac635&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AdminTheming.vue?vue&type=template&id=4f7ac635&scoped=true&\"\nimport script from \"./AdminTheming.vue?vue&type=script&lang=js&\"\nexport * from \"./AdminTheming.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AdminTheming.vue?vue&type=style&index=0&id=4f7ac635&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f7ac635\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('NcSettingsSection',{attrs:{\"title\":_vm.t('theming', 'Theming'),\"description\":_vm.t('theming', 'Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users.'),\"doc-url\":_vm.docUrl,\"data-admin-theming-settings\":\"\"}},[_c('div',{staticClass:\"admin-theming\"},[(!_vm.isThemable)?_c('NcNoteCard',{attrs:{\"type\":\"error\",\"show-alert\":true}},[_c('p',[_vm._v(_vm._s(_vm.notThemableErrorMessage))])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.textFields),function(field){return _c('TextField',{key:field.name,attrs:{\"data-admin-theming-setting-field\":field.name,\"default-value\":field.defaultValue,\"display-name\":field.displayName,\"maxlength\":field.maxlength,\"name\":field.name,\"placeholder\":field.placeholder,\"type\":field.type,\"value\":field.value},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('ColorPickerField',{attrs:{\"name\":_vm.colorPickerField.name,\"default-value\":_vm.colorPickerField.defaultValue,\"display-name\":_vm.colorPickerField.displayName,\"value\":_vm.colorPickerField.value,\"data-admin-theming-setting-primary-color\":\"\"},on:{\"update:value\":function($event){return _vm.$set(_vm.colorPickerField, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),_vm._l((_vm.fileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"aria-label\":field.ariaLabel,\"data-admin-theming-setting-file\":field.name,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"name\":field.name},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('div',{staticClass:\"admin-theming__preview\",attrs:{\"data-admin-theming-preview\":\"\"}},[_c('div',{staticClass:\"admin-theming__preview-logo\",attrs:{\"data-admin-theming-preview-logo\":\"\"}})])],2)]),_vm._v(\" \"),_c('NcSettingsSection',{attrs:{\"title\":_vm.t('theming', 'Advanced options')}},[_c('div',{staticClass:\"admin-theming-advanced\"},[_vm._l((_vm.advancedTextFields),function(field){return _c('TextField',{key:field.name,attrs:{\"name\":field.name,\"value\":field.value,\"default-value\":field.defaultValue,\"type\":field.type,\"display-name\":field.displayName,\"placeholder\":field.placeholder,\"maxlength\":field.maxlength},on:{\"update:value\":function($event){return _vm.$set(field, \"value\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_vm._l((_vm.advancedFileInputFields),function(field){return _c('FileInputField',{key:field.name,attrs:{\"name\":field.name,\"mime-name\":field.mimeName,\"mime-value\":field.mimeValue,\"default-mime-value\":field.defaultMimeValue,\"display-name\":field.displayName,\"aria-label\":field.ariaLabel},on:{\"update:mimeValue\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:mime-value\":function($event){return _vm.$set(field, \"mimeValue\", $event)},\"update:theming\":function($event){return _vm.$emit('update:theming')}}})}),_vm._v(\" \"),_c('CheckboxField',{attrs:{\"name\":_vm.userThemingField.name,\"value\":_vm.userThemingField.value,\"default-value\":_vm.userThemingField.defaultValue,\"display-name\":_vm.userThemingField.displayName,\"label\":_vm.userThemingField.label,\"description\":_vm.userThemingField.description,\"data-admin-theming-setting-disable-user-theming\":\"\"},on:{\"update:theming\":function($event){return _vm.$emit('update:theming')}}}),_vm._v(\" \"),(!_vm.canThemeIcons)?_c('a',{attrs:{\"href\":_vm.docUrlIcons,\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('theming', 'Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color.')))])]):_vm._e()],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport App from './AdminTheming.vue'\nimport { refreshStyles } from './helpers/refreshStyles.js'\n\nVue.prototype.OC = OC\nVue.prototype.t = t\n\nconst View = Vue.extend(App)\nconst theming = new View()\ntheming.$mount('#admin-theming')\ntheming.$on('update:theming', refreshStyles)\n","/**\n * @copyright 2022 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport const refreshStyles = () => {\n\t
|