diff --git a/aircox/static/aircox/css/chunk-common.css b/aircox/static/aircox/css/chunk-common.css index ba30396..c2967f7 100644 --- a/aircox/static/aircox/css/chunk-common.css +++ b/aircox/static/aircox/css/chunk-common.css @@ -2777,7 +2777,7 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i #player .button, #player a.button, #player button.button, .ax .button, .ax a.button, .ax button.button { font-size: 1rem; display: inline-block; - padding: 0.4rem; + padding: 0.4em; border: none; justify-content: center; text-align: center; @@ -2786,8 +2786,14 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i color: var(--button-fg); background-color: var(--button-bg); } +#player .button.smaller, #player a.button.smaller, #player button.button.smaller, .ax .button.smaller, .ax a.button.smaller, .ax button.button.smaller { + font-size: 0.8rem; +} +#player .button.small, #player a.button.small, #player button.button.small, .ax .button.small, .ax a.button.small, .ax button.button.small { + font-size: 0.6rem; +} #player .button.square, #player a.button.square, #player button.button.square, .ax .button.square, .ax a.button.square, .ax button.button.square { - min-width: 2.5rem; + min-width: 2.5em; } #player .button.secondary, #player a.button.secondary, #player button.button.secondary, .ax .button.secondary, .ax a.button.secondary, .ax button.button.secondary { background-color: var(--button-sec-bg); @@ -2799,10 +2805,10 @@ a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-i vertical-align: middle; } #player .button .icon:not(:only-child):first-child, #player a.button .icon:not(:only-child):first-child, #player button.button .icon:not(:only-child):first-child, .ax .button .icon:not(:only-child):first-child, .ax a.button .icon:not(:only-child):first-child, .ax button.button .icon:not(:only-child):first-child { - margin: 0 0.6rem 0 0.2rem; + margin: 0 0.6em 0 0.2em; } #player .button .icon:not(:only-child):last-child, #player a.button .icon:not(:only-child):last-child, #player button.button .icon:not(:only-child):last-child, .ax .button .icon:not(:only-child):last-child, .ax a.button .icon:not(:only-child):last-child, .ax button.button .icon:not(:only-child):last-child { - margin: 0 0.6rem 0 0.2rem; + margin: 0 0.6em 0 0.2em; } #player .button:hover, #player a.button:hover, #player button.button:hover, .ax .button:hover, .ax a.button:hover, .ax button.button:hover { color: var(--button-hv-fg); @@ -9553,6 +9559,22 @@ a.tag:hover { color: var(--text-color-light); } +.bigger { + font-size: 1.6rem !important; +} + +.big { + font-size: 2rem !important; +} + +.smaller { + font-size: 0.8rem !important; +} + +.small { + font-size: 0.6rem !important; +} + .align-left { text-align: left; justify-content: left; @@ -9621,6 +9643,58 @@ a.tag:hover { white-space: nowrap; } +.height-1 { + height: 1em; +} + +.height-2 { + height: 2em; +} + +.height-3 { + height: 3em; +} + +.height-4 { + height: 4em; +} + +.height-5 { + height: 5em; +} + +.height-6 { + height: 6em; +} + +.height-7 { + height: 7em; +} + +.height-8 { + height: 8em; +} + +.height-9 { + height: 9em; +} + +.height-10 { + height: 10em; +} + +.height-15 { + height: 15em; +} + +.height-20 { + height: 20em; +} + +.height-25 { + height: 25em; +} + .grid { display: grid; grid-template-columns: 1fr 1fr; diff --git a/aircox/static/aircox/css/public.css b/aircox/static/aircox/css/public.css index 25d6388..ff72d44 100644 --- a/aircox/static/aircox/css/public.css +++ b/aircox/static/aircox/css/public.css @@ -621,7 +621,7 @@ .button, a.button, button.button { font-size: 1rem; display: inline-block; - padding: 0.4rem; + padding: 0.4em; border: none; justify-content: center; text-align: center; @@ -630,8 +630,14 @@ color: var(--button-fg); background-color: var(--button-bg); } +.button.smaller, a.button.smaller, button.button.smaller { + font-size: 0.8rem; +} +.button.small, a.button.small, button.button.small { + font-size: 0.6rem; +} .button.square, a.button.square, button.button.square { - min-width: 2.5rem; + min-width: 2.5em; } .button.secondary, a.button.secondary, button.button.secondary { background-color: var(--button-sec-bg); @@ -643,10 +649,10 @@ vertical-align: middle; } .button .icon:not(:only-child):first-child, a.button .icon:not(:only-child):first-child, button.button .icon:not(:only-child):first-child { - margin: 0 0.6rem 0 0.2rem; + margin: 0 0.6em 0 0.2em; } .button .icon:not(:only-child):last-child, a.button .icon:not(:only-child):last-child, button.button .icon:not(:only-child):last-child { - margin: 0 0.6rem 0 0.2rem; + margin: 0 0.6em 0 0.2em; } .button:hover, a.button:hover, button.button:hover { color: var(--button-hv-fg); diff --git a/aircox/static/aircox/js/chunk-common.js b/aircox/static/aircox/js/chunk-common.js index 81ded3f..f4366c8 100644 --- a/aircox/static/aircox/js/chunk-common.js +++ b/aircox/static/aircox/js/chunk-common.js @@ -15,7 +15,7 @@ \***********************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model */ \"./src/model.js\");\n\n\n/**\n * Button that can be used to call API requests on provided url\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n emit: ['start', 'done'],\n props: {\n //! Component tag, by default, `button`\n tag: {\n type: String,\n default: 'a'\n },\n //! Button icon\n icon: String,\n //! Data or model instance to send\n data: Object,\n //! Action method, by default, `POST`\n method: {\n type: String,\n default: 'POST'\n },\n //! Action url\n url: String,\n //! Extra request options\n fetchOptions: {\n type: Object,\n default: () => {\n return {};\n }\n },\n //! Component class while action is running\n runClass: String,\n //! Icon class while action is running\n runIcon: String\n },\n computed: {\n //! Input data as model instance\n item() {\n return this.data instanceof _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? this.data : new _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.data);\n },\n //! Computed button class\n buttonClass() {\n return this.promise ? this.runClass : '';\n }\n },\n data() {\n return {\n promise: false\n };\n },\n methods: {\n call() {\n if (this.promise || !this.url) return;\n const options = _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getOptions({\n ...this.fetchOptions,\n method: this.method,\n body: JSON.stringify(this.item.data)\n });\n this.promise = fetch(this.url, options).then(data => {\n const response = data.json();\n this.promise = null;\n this.$emit('done', response);\n return response;\n }, data => {\n this.promise = null;\n return data;\n });\n return this.promise;\n }\n }\n});\n\n//# sourceURL=webpack://aircox-assets/./src/components/AActionButton.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model */ \"./src/model.js\");\n\n\n/**\n * Button that can be used to call API requests on provided url\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n emit: ['start', 'done'],\n props: {\n //! Component tag, by default, `button`\n tag: {\n type: String,\n default: 'a'\n },\n //! Button icon\n icon: String,\n //! Data or model instance to send\n data: Object,\n //! Action method, by default, `POST`\n method: {\n type: String,\n default: 'POST'\n },\n //! If provided open confirmation box before proceeding\n confirm: {\n type: String,\n default: ''\n },\n //! Action url\n url: String,\n //! Extra request options\n fetchOptions: {\n type: Object,\n default: () => {\n return {};\n }\n },\n //! Component class while action is running\n runClass: String,\n //! Icon class while action is running\n runIcon: String\n },\n computed: {\n //! Input data as model instance\n item() {\n return this.data instanceof _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? this.data : new _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.data);\n },\n //! Computed button class\n buttonClass() {\n return this.promise ? this.runClass : '';\n }\n },\n data() {\n return {\n promise: false\n };\n },\n methods: {\n call() {\n if (this.promise || !this.url) return;\n if (this.confirm && !confirm(this.confirm)) return;\n const options = _model__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getOptions({\n ...this.fetchOptions,\n method: this.method,\n body: JSON.stringify(this.item.data)\n });\n this.promise = fetch(this.url, options).then(data => {\n const response = data.json();\n this.promise = null;\n this.$emit('done', response);\n return response;\n }, data => {\n this.promise = null;\n return data;\n });\n return this.promise;\n }\n }\n});\n\n//# sourceURL=webpack://aircox-assets/./src/components/AActionButton.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -155,7 +155,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core \*********************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model */ \"./src/model.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n name: {\n type: String\n },\n listClass: {\n type: String,\n default: \"\"\n },\n prevLabel: {\n type: String,\n default: \"Prev\"\n },\n nextLabel: {\n type: String,\n default: \"Next\"\n },\n listUrl: {\n type: String\n },\n uploadLabel: {\n type: String,\n default: \"Upload a file\"\n }\n },\n data() {\n return {\n item: null,\n items: [],\n uploadFile: null,\n uploadUrl: null,\n uploadFieldName: null,\n uploadCSRF: null,\n nextUrl: \"\",\n prevUrl: \"\"\n };\n },\n methods: {\n previewFile(event) {\n const [file] = event.target.files;\n this.uploadFile = file && {\n file: file,\n src: URL.createObjectURL(file)\n };\n },\n removeUpload() {\n this.uploadFile = null;\n },\n doUpload() {\n const formData = new FormData();\n formData.append('file', this.uploadFile.file);\n formData.append('original_filename', this.uploadFile.file.name);\n formData.append('csrfmiddlewaretoken', (0,_model__WEBPACK_IMPORTED_MODULE_0__.getCsrf)());\n fetch(this.uploadUrl, {\n method: \"POST\",\n body: formData\n }).then(() => {\n this.uploadFile = null;\n this.load();\n });\n },\n load(url) {\n fetch(url || this.listUrl).then(response => response.ok ? response.json() : Promise.reject(response)).then(data => {\n this.nextUrl = data.next;\n this.prevUrl = data.previous;\n this.items = data.results;\n this.$forceUpdate();\n this.$refs.list.scroll(0, 0);\n });\n },\n select(item) {\n this.item = item;\n }\n },\n mounted() {\n this.load();\n }\n});\n\n//# sourceURL=webpack://aircox-assets/./src/components/ASelectFile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../model */ \"./src/model.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n props: {\n name: {\n type: String\n },\n listClass: {\n type: String,\n default: \"\"\n },\n prevLabel: {\n type: String,\n default: \"Prev\"\n },\n nextLabel: {\n type: String,\n default: \"Next\"\n },\n listUrl: {\n type: String\n },\n uploadUrl: {\n type: String\n },\n uploadFieldName: {\n type: String,\n default: \"file\"\n },\n uploadLabel: {\n type: String,\n default: \"Upload a file\"\n }\n },\n data() {\n return {\n STATE: {\n DEFAULT: 0,\n UPLOADING: 1\n },\n state: 0,\n item: null,\n items: [],\n nextUrl: \"\",\n prevUrl: \"\",\n lastUrl: \"\",\n upload: {}\n };\n },\n methods: {\n load(url) {\n fetch(url || this.listUrl).then(response => response.ok ? response.json() : Promise.reject(response)).then(data => {\n this.lastUrl = url;\n this.nextUrl = data.next;\n this.prevUrl = data.previous;\n this.items = data.results;\n this.$forceUpdate();\n this.$refs.list.scroll(0, 0);\n });\n },\n select(item) {\n this.item = item;\n },\n // ---- upload\n uploadAbort() {\n this.upload.request && this.upload.request.abort();\n },\n onSubmit() {\n const [file] = this.$refs.uploadFile.files;\n if (!file) return;\n this._setUploadFile(file);\n const req = new XMLHttpRequest();\n req.open(\"POST\", this.uploadUrl || this.listUrl);\n req.upload.addEventListener(\"progress\", e => this.onUploadProgress(e));\n req.addEventListener(\"load\", e => this.onUploadDone(e, true));\n req.addEventListener(\"abort\", e => this.onUploadDone(e));\n req.addEventListener(\"error\", e => this.onUploadDone(e));\n const formData = new FormData(this.$refs.uploadForm);\n formData.append('csrfmiddlewaretoken', (0,_model__WEBPACK_IMPORTED_MODULE_0__.getCsrf)());\n req.send(formData);\n this._resetUpload(this.STATE.UPLOADING, false, req);\n },\n onUploadProgress(event) {\n this.upload.loaded = event.loaded;\n this.upload.total = event.total;\n },\n onUploadDone(reload = false) {\n this._resetUpload(this.STATE.DEFAULT, true);\n reload && this.load();\n },\n _setUploadFile(file) {\n this.upload.file = file;\n this.upload.fileURL = file && URL.createObjectURL(file);\n },\n _resetUpload(state, resetFile = false, request = null) {\n this.state = state;\n this.upload.loaded = 0;\n this.upload.total = 0;\n this.upload.request = request;\n if (resetFile) this.upload.file = null;\n }\n },\n mounted() {\n this.load();\n }\n});\n\n//# sourceURL=webpack://aircox-assets/./src/components/ASelectFile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -205,7 +205,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ \***************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0\n};\nconst _hoisted_2 = {\n key: 1,\n class: \"icon is-small\"\n};\nconst _hoisted_3 = {\n key: 2\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDynamicComponent)($props.tag), {\n onClick: $options.call,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.buttonClass)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.promise && $props.runIcon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($props.runIcon)\n }, null, 2 /* CLASS */)])) : $props.icon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($props.icon)\n }, null, 2 /* CLASS */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), _ctx.$slots.default ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"default\")])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 3 /* FORWARDED */\n }, 8 /* PROPS */, [\"onClick\", \"class\"]);\n}\n\n//# sourceURL=webpack://aircox-assets/./src/components/AActionButton.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n key: 0\n};\nconst _hoisted_2 = {\n key: 1,\n class: \"icon is-small\"\n};\nconst _hoisted_3 = {\n key: 2\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)((0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveDynamicComponent)($props.tag), {\n onClickCapture: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withModifiers)($options.call, [\"stop\"]),\n type: \"button\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($options.buttonClass)\n }, {\n default: (0,vue__WEBPACK_IMPORTED_MODULE_0__.withCtx)(() => [$data.promise && $props.runIcon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($props.runIcon)\n }, null, 2 /* CLASS */)])) : $props.icon ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)($props.icon)\n }, null, 2 /* CLASS */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), _ctx.$slots.default ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"span\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"default\")])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]),\n _: 3 /* FORWARDED */\n }, 40 /* PROPS, HYDRATE_EVENTS */, [\"onClickCapture\", \"class\"]);\n}\n\n//# sourceURL=webpack://aircox-assets/./src/components/AActionButton.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -345,7 +345,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*************************************************************************************************************************************************************************************************************************************************************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"a-select-file\"\n};\nconst _hoisted_2 = {\n class: \"flex-column\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"field flex-grow-1\"\n};\nconst _hoisted_4 = {\n class: \"label\"\n};\nconst _hoisted_5 = {\n key: 1\n};\nconst _hoisted_6 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"icon\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: \"fa fa-trash\"\n})], -1 /* HOISTED */);\nconst _hoisted_7 = [_hoisted_6];\nconst _hoisted_8 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"icon\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: \"fa fa-upload\"\n})], -1 /* HOISTED */);\nconst _hoisted_9 = {\n key: 0\n};\nconst _hoisted_10 = [\"onClick\"];\nconst _hoisted_11 = {\n key: 1\n};\nconst _hoisted_12 = {\n class: \"a-select-footer\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(['a-select-file-list', $props.listClass]),\n ref: \"list\"\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_2, [!$data.uploadFile ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.uploadLabel), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n type: \"file\",\n onChange: _cache[0] || (_cache[0] = (...args) => $options.previewFile && $options.previewFile(...args))\n }, null, 32 /* HYDRATE_EVENTS */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"upload-preview\", {\n item: $data.uploadFile\n }), $data.uploadFile ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_5, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"button\", {\n class: \"button secondary\",\n onClick: _cache[1] || (_cache[1] = (...args) => $options.removeUpload && $options.removeUpload(...args))\n }, _hoisted_7), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"button\", {\n class: \"button float-right\",\n onClick: _cache[2] || (_cache[2] = (...args) => $options.doUpload && $options.doUpload(...args))\n }, [_hoisted_8, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createTextVNode)(\" Upload \")])])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)]), $data.prevUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_9, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"a\", {\n href: \"#\",\n onClick: _cache[3] || (_cache[3] = $event => $options.load($data.prevUrl))\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.prevLabel), 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.items, item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: item.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(['file-preview', this.item && item.id == this.item.id && 'active']),\n onClick: $event => $options.select(item)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"default\", {\n item: item\n })], 10 /* CLASS, PROPS */, _hoisted_10);\n }), 128 /* KEYED_FRAGMENT */)), $data.nextUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_11, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"a\", {\n href: \"#\",\n onClick: _cache[4] || (_cache[4] = $event => $options.load($data.nextUrl))\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.nextLabel), 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"footer\", {\n item: $data.item,\n items: $data.items\n })])]);\n}\n\n//# sourceURL=webpack://aircox-assets/./src/components/ASelectFile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ render: function() { return /* binding */ render; }\n/* harmony export */ });\n/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ \"./node_modules/vue/dist/vue.esm-bundler.js\");\n\nconst _hoisted_1 = {\n class: \"a-select-file\"\n};\nconst _hoisted_2 = {\n key: 0,\n ref: \"uploadForm\",\n class: \"flex-column\"\n};\nconst _hoisted_3 = {\n key: 0,\n class: \"field flex-grow-1\"\n};\nconst _hoisted_4 = {\n class: \"label\"\n};\nconst _hoisted_5 = [\"name\"];\nconst _hoisted_6 = {\n class: \"flex-grow-1\"\n};\nconst _hoisted_7 = {\n key: 1,\n class: \"flex-column\"\n};\nconst _hoisted_8 = {\n class: \"flex-row\"\n};\nconst _hoisted_9 = [\"max\", \"value\"];\nconst _hoisted_10 = /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"span\", {\n class: \"icon small\"\n}, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"i\", {\n class: \"fa fa-close\"\n})], -1 /* HOISTED */);\nconst _hoisted_11 = [_hoisted_10];\nconst _hoisted_12 = {\n key: 2\n};\nconst _hoisted_13 = [\"onClick\"];\nconst _hoisted_14 = {\n key: 3\n};\nconst _hoisted_15 = {\n class: \"a-select-footer\"\n};\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", {\n ref: \"list\",\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(['a-select-file-list', $props.listClass])\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" upload \"), $data.state == $data.STATE.DEFAULT ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"form\", _hoisted_2, [!_ctx.uploadFile ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_3, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"label\", _hoisted_4, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.uploadLabel), 1 /* TEXT */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"input\", {\n type: \"file\",\n ref: \"uploadFile\",\n name: $props.uploadFieldName,\n onChange: _cache[0] || (_cache[0] = (...args) => $options.onSubmit && $options.onSubmit(...args))\n }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_6, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"upload-form\")])], 512 /* NEED_PATCH */)) : ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"upload-preview\", {\n upload: $data.upload\n }), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_8, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"progress\", {\n max: $data.upload.total,\n value: $data.upload.loaded\n }, null, 8 /* PROPS */, _hoisted_9), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"button\", {\n type: \"button\",\n class: \"button small square ml-2\",\n onClick: _cache[1] || (_cache[1] = (...args) => $options.uploadAbort && $options.uploadAbort(...args))\n }, _hoisted_11)])])), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\" tiles \"), $data.prevUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_12, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"a\", {\n href: \"#\",\n onClick: _cache[2] || (_cache[2] = $event => $options.load($data.prevUrl))\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.prevLabel), 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true), ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)($data.items, item => {\n return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", {\n key: item.id,\n class: (0,vue__WEBPACK_IMPORTED_MODULE_0__.normalizeClass)(['file-preview', this.item && item.id == this.item.id && 'active']),\n onClick: $event => $options.select(item)\n }, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"default\", {\n item: item,\n load: $options.load,\n lastUrl: $data.lastUrl\n })], 10 /* CLASS, PROPS */, _hoisted_13);\n }), 128 /* KEYED_FRAGMENT */)), $data.nextUrl ? ((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(\"div\", _hoisted_14, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"a\", {\n href: \"#\",\n onClick: _cache[3] || (_cache[3] = $event => $options.load($data.nextUrl))\n }, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)($props.nextLabel), 1 /* TEXT */)])) : (0,vue__WEBPACK_IMPORTED_MODULE_0__.createCommentVNode)(\"v-if\", true)], 2 /* CLASS */), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)(\"div\", _hoisted_15, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.renderSlot)(_ctx.$slots, \"footer\", {\n item: $data.item,\n items: $data.items\n })])]);\n}\n\n//# sourceURL=webpack://aircox-assets/./src/components/ASelectFile.vue?./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use%5B0%5D!./node_modules/vue-loader/dist/templateLoader.js??ruleSet%5B1%5D.rules%5B3%5D!./node_modules/vue-loader/dist/index.js??ruleSet%5B0%5D.use%5B0%5D"); /***/ }), @@ -405,7 +405,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \*********************************/ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ admin: function() { return /* binding */ admin; },\n/* harmony export */ base: function() { return /* binding */ base; },\n/* harmony export */ dashboard: function() { return /* binding */ dashboard; }\n/* harmony export */ });\n/* harmony import */ var _AAutocomplete__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AAutocomplete */ \"./src/components/AAutocomplete.vue\");\n/* harmony import */ var _ACarousel__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ACarousel */ \"./src/components/ACarousel.vue\");\n/* harmony import */ var _ADropdown__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ADropdown */ \"./src/components/ADropdown.vue\");\n/* harmony import */ var _AEpisode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AEpisode */ \"./src/components/AEpisode.vue\");\n/* harmony import */ var _AList__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AList */ \"./src/components/AList.vue\");\n/* harmony import */ var _APage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./APage */ \"./src/components/APage.vue\");\n/* harmony import */ var _APlayer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./APlayer */ \"./src/components/APlayer.vue\");\n/* harmony import */ var _APlaylist__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./APlaylist */ \"./src/components/APlaylist.vue\");\n/* harmony import */ var _APlaylistEditor__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./APlaylistEditor */ \"./src/components/APlaylistEditor.vue\");\n/* harmony import */ var _AProgress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./AProgress */ \"./src/components/AProgress.vue\");\n/* harmony import */ var _ASoundItem__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ASoundItem */ \"./src/components/ASoundItem.vue\");\n/* harmony import */ var _ASwitch__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ASwitch */ \"./src/components/ASwitch.vue\");\n/* harmony import */ var _AStatistics__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./AStatistics */ \"./src/components/AStatistics.vue\");\n/* harmony import */ var _AStreamer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./AStreamer */ \"./src/components/AStreamer.vue\");\n/* harmony import */ var _AModal__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./AModal */ \"./src/components/AModal.vue\");\n/* harmony import */ var _ASelectFile__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ASelectFile */ \"./src/components/ASelectFile.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Core components\n */\nconst base = {\n AAutocomplete: _AAutocomplete__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n ACarousel: _ACarousel__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ADropdown: _ADropdown__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n AEpisode: _AEpisode__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n AList: _AList__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n APage: _APage__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n APlayer: _APlayer__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n APlaylist: _APlaylist__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n AProgress: _AProgress__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n ASoundItem: _ASoundItem__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n ASwitch: _ASwitch__WEBPACK_IMPORTED_MODULE_11__[\"default\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (base);\nconst admin = {\n ...base,\n AStatistics: _AStatistics__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n AStreamer: _AStreamer__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n APlaylistEditor: _APlaylistEditor__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n};\nconst dashboard = {\n ...base,\n ASelectFile: _ASelectFile__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n AModal: _AModal__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n APlaylistEditor: _APlaylistEditor__WEBPACK_IMPORTED_MODULE_8__[\"default\"]\n};\n\n//# sourceURL=webpack://aircox-assets/./src/components/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ admin: function() { return /* binding */ admin; },\n/* harmony export */ base: function() { return /* binding */ base; },\n/* harmony export */ dashboard: function() { return /* binding */ dashboard; }\n/* harmony export */ });\n/* harmony import */ var _AActionButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AActionButton */ \"./src/components/AActionButton.vue\");\n/* harmony import */ var _AAutocomplete__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AAutocomplete */ \"./src/components/AAutocomplete.vue\");\n/* harmony import */ var _ACarousel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ACarousel */ \"./src/components/ACarousel.vue\");\n/* harmony import */ var _ADropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ADropdown */ \"./src/components/ADropdown.vue\");\n/* harmony import */ var _AEpisode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./AEpisode */ \"./src/components/AEpisode.vue\");\n/* harmony import */ var _AList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./AList */ \"./src/components/AList.vue\");\n/* harmony import */ var _APage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./APage */ \"./src/components/APage.vue\");\n/* harmony import */ var _APlayer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./APlayer */ \"./src/components/APlayer.vue\");\n/* harmony import */ var _APlaylist__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./APlaylist */ \"./src/components/APlaylist.vue\");\n/* harmony import */ var _APlaylistEditor__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./APlaylistEditor */ \"./src/components/APlaylistEditor.vue\");\n/* harmony import */ var _AProgress__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./AProgress */ \"./src/components/AProgress.vue\");\n/* harmony import */ var _ASoundItem__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ASoundItem */ \"./src/components/ASoundItem.vue\");\n/* harmony import */ var _ASwitch__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ASwitch */ \"./src/components/ASwitch.vue\");\n/* harmony import */ var _AStatistics__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./AStatistics */ \"./src/components/AStatistics.vue\");\n/* harmony import */ var _AStreamer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./AStreamer */ \"./src/components/AStreamer.vue\");\n/* harmony import */ var _AModal__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./AModal */ \"./src/components/AModal.vue\");\n/* harmony import */ var _ASelectFile__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ASelectFile */ \"./src/components/ASelectFile.vue\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Core components\n */\nconst base = {\n AAutocomplete: _AAutocomplete__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n ACarousel: _ACarousel__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n ADropdown: _ADropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n AEpisode: _AEpisode__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n AList: _AList__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n APage: _APage__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n APlayer: _APlayer__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n APlaylist: _APlaylist__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n AProgress: _AProgress__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n ASoundItem: _ASoundItem__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n ASwitch: _ASwitch__WEBPACK_IMPORTED_MODULE_12__[\"default\"]\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (base);\nconst admin = {\n ...base,\n AStatistics: _AStatistics__WEBPACK_IMPORTED_MODULE_13__[\"default\"],\n AStreamer: _AStreamer__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n APlaylistEditor: _APlaylistEditor__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n};\nconst dashboard = {\n ...base,\n AActionButton: _AActionButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n ASelectFile: _ASelectFile__WEBPACK_IMPORTED_MODULE_16__[\"default\"],\n AModal: _AModal__WEBPACK_IMPORTED_MODULE_15__[\"default\"],\n APlaylistEditor: _APlaylistEditor__WEBPACK_IMPORTED_MODULE_9__[\"default\"]\n};\n\n//# sourceURL=webpack://aircox-assets/./src/components/index.js?"); /***/ }), diff --git a/aircox/templates/aircox/page_form.html b/aircox/templates/aircox/page_form.html index 04a885e..8b207c1 100644 --- a/aircox/templates/aircox/page_form.html +++ b/aircox/templates/aircox/page_form.html @@ -24,17 +24,25 @@ next-label="{% translate "Show next" %}" ref="cover-select" > -