@wg-npm/survey-response 0.5.211 → 0.5.214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/survey-response.esm.js +214 -161
- package/package.json +5 -5
- package/src/components/question/type/fill-blank.vue +0 -18
- package/src/components/question/type/quill-rich-text.vue +127 -42
- package/src/components/question/type/short-answer.vue +0 -18
- package/src/components/survey-response.vue +2 -2
- package/src/constants.ts +1 -0
- package/src/index.ts +2 -0
- package/src/locale/lang/en-US.ts +1 -0
- package/src/locale/lang/zh-CN.ts +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Vue from 'vue';
|
|
2
2
|
import _ from 'lodash';
|
|
3
|
-
import { Row, Input as Input$1, Icon, FormItem, CheckboxGroup, Checkbox, Col, RadioGroup, Radio, Tooltip as Tooltip$1, Card, Slider, InputNumber, Form } from 'view-design';
|
|
3
|
+
import { Row, Input as Input$1, Icon, FormItem, CheckboxGroup, Checkbox, Col, RadioGroup, Radio, Tooltip as Tooltip$1, Card, Slider, InputNumber, Form, Message } from 'view-design';
|
|
4
4
|
import { CUSTOM_INPUT_REG, formatTitle, translate } from '@wg-npm/survey-core';
|
|
5
5
|
import deepmerge from 'deepmerge';
|
|
6
6
|
|
|
@@ -16933,14 +16933,112 @@ Quill.register({
|
|
|
16933
16933
|
|
|
16934
16934
|
const EventBus = new Vue();
|
|
16935
16935
|
|
|
16936
|
+
var defaultLang = {
|
|
16937
|
+
survey_response: {
|
|
16938
|
+
locale: "zh-CN",
|
|
16939
|
+
common: {
|
|
16940
|
+
back: "返回",
|
|
16941
|
+
save: "保存",
|
|
16942
|
+
submit: "提交",
|
|
16943
|
+
cancel: "取消",
|
|
16944
|
+
languages: {
|
|
16945
|
+
"zh-CN": "简体中文",
|
|
16946
|
+
"zh-TW": "繁体中文",
|
|
16947
|
+
"en-US": "English",
|
|
16948
|
+
},
|
|
16949
|
+
tips: {
|
|
16950
|
+
get_screen_shot_name: "插入视频截图",
|
|
16951
|
+
upload_image_exceed_the_limit: "图片数量超过限制",
|
|
16952
|
+
max_length_hint: "字数超过限制",
|
|
16953
|
+
upload_fail: "上传文件失败",
|
|
16954
|
+
},
|
|
16955
|
+
},
|
|
16956
|
+
question: {
|
|
16957
|
+
please_enter: "请填写",
|
|
16958
|
+
question_required: "此题必填",
|
|
16959
|
+
survey_confirm_content: "确认要提交问卷?",
|
|
16960
|
+
noQuestion: "还未添加题目!",
|
|
16961
|
+
input_text_limit: "输入项字数不少于{0}字",
|
|
16962
|
+
choice_required: "此项必填",
|
|
16963
|
+
},
|
|
16964
|
+
},
|
|
16965
|
+
};
|
|
16966
|
+
|
|
16967
|
+
let lang = defaultLang;
|
|
16968
|
+
let merged = false;
|
|
16969
|
+
let i18nHandler = function (...args) {
|
|
16970
|
+
const vuei18n = Object.getPrototypeOf(this || Vue).$t;
|
|
16971
|
+
if (typeof vuei18n === "function" && !!Vue.locale) {
|
|
16972
|
+
if (!merged) {
|
|
16973
|
+
merged = true;
|
|
16974
|
+
Vue.locale(Vue.config.lang, deepmerge(lang, Vue.locale(Vue.config.lang) || {}, { clone: true }));
|
|
16975
|
+
}
|
|
16976
|
+
return vuei18n.apply(this, args);
|
|
16977
|
+
}
|
|
16978
|
+
};
|
|
16979
|
+
const t = function (...args) {
|
|
16980
|
+
let value = i18nHandler.apply(this, args);
|
|
16981
|
+
if (value !== null && typeof value !== "undefined") {
|
|
16982
|
+
return value;
|
|
16983
|
+
}
|
|
16984
|
+
const array = args[0].split(".");
|
|
16985
|
+
let current = lang;
|
|
16986
|
+
for (let i = 0, len = array.length; i < len; i++) {
|
|
16987
|
+
const property = array[i];
|
|
16988
|
+
value = current[property];
|
|
16989
|
+
if (i === len - 1) {
|
|
16990
|
+
return value;
|
|
16991
|
+
}
|
|
16992
|
+
else if (!value) {
|
|
16993
|
+
return "";
|
|
16994
|
+
}
|
|
16995
|
+
current = value;
|
|
16996
|
+
}
|
|
16997
|
+
return "";
|
|
16998
|
+
};
|
|
16999
|
+
const use = function (l) {
|
|
17000
|
+
lang = l || lang;
|
|
17001
|
+
};
|
|
17002
|
+
const i18n = function (fn) {
|
|
17003
|
+
i18nHandler = fn || i18nHandler;
|
|
17004
|
+
};
|
|
17005
|
+
function currentLang() {
|
|
17006
|
+
return lang;
|
|
17007
|
+
}
|
|
17008
|
+
var locale = { use, t, i18n, currentLang };
|
|
17009
|
+
|
|
17010
|
+
var LocaleMixin = Vue.extend({
|
|
17011
|
+
methods: {
|
|
17012
|
+
t(...args) {
|
|
17013
|
+
return t.apply(this, args);
|
|
17014
|
+
},
|
|
17015
|
+
i18nText(obj, prettyMath = true) {
|
|
17016
|
+
return translate(obj, this.$surveyLanguage, prettyMath);
|
|
17017
|
+
},
|
|
17018
|
+
},
|
|
17019
|
+
});
|
|
17020
|
+
|
|
17021
|
+
class Constants {
|
|
17022
|
+
constructor() {
|
|
17023
|
+
this.STATUS_ENABLED = "ENABLED";
|
|
17024
|
+
this.STATUS_DRAFT = "DRAFT";
|
|
17025
|
+
this.RICH_TEXT_IMAGE_COUNT_LIMIT = 20;
|
|
17026
|
+
}
|
|
17027
|
+
}
|
|
17028
|
+
const consts = new Constants();
|
|
17029
|
+
|
|
16936
17030
|
//
|
|
16937
17031
|
var script$f = Vue.extend({
|
|
16938
17032
|
name: "QuillEditor",
|
|
16939
17033
|
inject: {
|
|
16940
17034
|
showVideoScreenShotButton: {
|
|
16941
17035
|
default: false
|
|
17036
|
+
},
|
|
17037
|
+
$rootComponent: {
|
|
17038
|
+
default: {}
|
|
16942
17039
|
}
|
|
16943
17040
|
},
|
|
17041
|
+
mixins: [LocaleMixin],
|
|
16944
17042
|
props: {
|
|
16945
17043
|
value: {
|
|
16946
17044
|
type: String,
|
|
@@ -16957,61 +17055,69 @@ var script$f = Vue.extend({
|
|
|
16957
17055
|
maxlength: {
|
|
16958
17056
|
type: Number,
|
|
16959
17057
|
default: 5000
|
|
16960
|
-
},
|
|
16961
|
-
videoScreenShotButtonName: {
|
|
16962
|
-
type: String,
|
|
16963
|
-
default: "插入视频截图"
|
|
16964
|
-
},
|
|
16965
|
-
uploadImageExceedLimit: {
|
|
16966
|
-
type: String,
|
|
16967
|
-
default: "图片数量超过限制"
|
|
16968
|
-
},
|
|
16969
|
-
maxLengthHint: {
|
|
16970
|
-
type: String,
|
|
16971
|
-
default: "字数超过限制"
|
|
16972
17058
|
}
|
|
16973
17059
|
},
|
|
16974
17060
|
mounted() {
|
|
16975
17061
|
this.initQuill();
|
|
16976
|
-
this.
|
|
16977
|
-
EventBus.$on("screen-shot-urls", this.handleScreenShotUrl);
|
|
17062
|
+
EventBus.$on("screen-shot-urls", this.addScreenShotUrl);
|
|
16978
17063
|
this.componentId = this.generateRandomId();
|
|
16979
17064
|
},
|
|
16980
17065
|
computed: {
|
|
16981
17066
|
imageCount() {
|
|
16982
|
-
|
|
16983
|
-
|
|
16984
|
-
|
|
17067
|
+
if (this.value) {
|
|
17068
|
+
let imgTagRegex = /<img\s[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/g;
|
|
17069
|
+
let matches = this.value.match(imgTagRegex);
|
|
17070
|
+
return matches ? matches.length : 0;
|
|
17071
|
+
}
|
|
17072
|
+
return 0;
|
|
16985
17073
|
}
|
|
16986
17074
|
},
|
|
16987
17075
|
methods: {
|
|
16988
|
-
|
|
17076
|
+
addScreenShotUrl(screenData) {
|
|
16989
17077
|
if (this.componentId === screenData.messageId) {
|
|
16990
|
-
if (this.imageCount >
|
|
16991
|
-
this.$Message.error(this.
|
|
17078
|
+
if (this.imageCount > consts.RICH_TEXT_IMAGE_COUNT_LIMIT) {
|
|
17079
|
+
this.$Message.error(this.getLocaleValue("survey_response.common.tips.upload_image_exceed_the_limit"));
|
|
16992
17080
|
return;
|
|
16993
17081
|
}
|
|
16994
17082
|
for (let url of screenData.urls) {
|
|
16995
|
-
|
|
16996
|
-
if (!range) {
|
|
16997
|
-
range = {
|
|
16998
|
-
index: this.quill.getLength(),
|
|
16999
|
-
length: 0
|
|
17000
|
-
};
|
|
17001
|
-
}
|
|
17002
|
-
const imgTag = `<img src="${url}" alt="image load fail" width="400px" height="auto" >`;
|
|
17003
|
-
this.quill.clipboard.dangerouslyPasteHTML(range.index, imgTag);
|
|
17004
|
-
this.quill.setSelection(range.index + 1);
|
|
17083
|
+
this.insertImageUrl(url);
|
|
17005
17084
|
}
|
|
17006
17085
|
}
|
|
17007
17086
|
},
|
|
17087
|
+
insertImageEmbed(url) {
|
|
17088
|
+
let range = this.quill.getSelection();
|
|
17089
|
+
if (!range) {
|
|
17090
|
+
range = {
|
|
17091
|
+
index: this.quill.getLength(),
|
|
17092
|
+
length: 0
|
|
17093
|
+
};
|
|
17094
|
+
}
|
|
17095
|
+
this.quill.insertEmbed(range, "image", url, "user");
|
|
17096
|
+
this.$nextTick(() => {
|
|
17097
|
+
this.quill.update("user");
|
|
17098
|
+
});
|
|
17099
|
+
},
|
|
17100
|
+
insertImageUrl(url) {
|
|
17101
|
+
if (url) {
|
|
17102
|
+
let range = this.quill.getSelection();
|
|
17103
|
+
if (!range) {
|
|
17104
|
+
range = {
|
|
17105
|
+
index: this.quill.getLength(),
|
|
17106
|
+
length: 0
|
|
17107
|
+
};
|
|
17108
|
+
}
|
|
17109
|
+
const imgTag = `<img src="${url}" alt="image load fail">`;
|
|
17110
|
+
this.quill.clipboard.dangerouslyPasteHTML(range.index, imgTag);
|
|
17111
|
+
this.quill.setSelection(range.index + 1);
|
|
17112
|
+
}
|
|
17113
|
+
},
|
|
17008
17114
|
changeVideoScreenShotButtonName() {
|
|
17009
17115
|
// 查找自定义按钮并更新其文本
|
|
17010
17116
|
const toolbar = this.quill.getModule("toolbar");
|
|
17011
17117
|
const buttons = toolbar.container.querySelectorAll("button.ql-video-screen-shot");
|
|
17012
17118
|
if (buttons.length > 0) {
|
|
17013
17119
|
let button = buttons[0];
|
|
17014
|
-
button.innerHTML = this.
|
|
17120
|
+
button.innerHTML = this.getLocaleValue("survey_response.common.tips.get_screen_shot_name");
|
|
17015
17121
|
button.style.padding = "2px";
|
|
17016
17122
|
button.style.fontSize = "12px";
|
|
17017
17123
|
button.style.color = "rgb(105, 140, 208)";
|
|
@@ -17055,17 +17161,51 @@ var script$f = Vue.extend({
|
|
|
17055
17161
|
});
|
|
17056
17162
|
this.quill.root.innerHTML = this.value;
|
|
17057
17163
|
this.quill.on("text-change", this.handleTextChange);
|
|
17164
|
+
//quill 剪切事件自定义处理
|
|
17165
|
+
this.quill.root.addEventListener("paste", this.handlePaste, true);
|
|
17166
|
+
if (this.showVideoScreenShotButton && !this.disabled) {
|
|
17167
|
+
this.changeVideoScreenShotButtonName();
|
|
17168
|
+
}
|
|
17058
17169
|
},
|
|
17059
17170
|
handleTextChange() {
|
|
17060
|
-
|
|
17061
|
-
let text = this.quill.getText();
|
|
17171
|
+
let text = this.quill.getText().trim();
|
|
17062
17172
|
if (text.length > this.maxlength) {
|
|
17063
|
-
this
|
|
17064
|
-
this.
|
|
17173
|
+
this.quill.deleteText(this.maxlength, text.length);
|
|
17174
|
+
this.$Message.error(this.getLocaleValue("survey_response.common.tips.max_length_hint"));
|
|
17065
17175
|
}
|
|
17066
17176
|
text = this.quill.getText();
|
|
17067
|
-
this
|
|
17068
|
-
|
|
17177
|
+
let html = this.quill.root.innerHTML;
|
|
17178
|
+
//手动删除文字时,删空富文本留下的内容是<p><br></p>。需要将内容修改为'',外层必填校验才会生效
|
|
17179
|
+
if (html.trim() === '<p><br></p>') {
|
|
17180
|
+
// 设置编辑器内容为空
|
|
17181
|
+
this.quill.root.innerHTML = '';
|
|
17182
|
+
html = '';
|
|
17183
|
+
}
|
|
17184
|
+
this.$emit("input", html);
|
|
17185
|
+
},
|
|
17186
|
+
handlePaste(event) {
|
|
17187
|
+
let clipboard = event.clipboardData || window.clipboardData;
|
|
17188
|
+
|
|
17189
|
+
// IE 11 is .files other browsers are .items
|
|
17190
|
+
if (clipboard && (clipboard.items || clipboard.files)) {
|
|
17191
|
+
let items = clipboard.items || clipboard.files;
|
|
17192
|
+
const IMAGE_MIME_REGEX = /^image\/(jpe?g|gif|png|svg|webp)$/i;
|
|
17193
|
+
for (let i = 0; i < items.length; i++) {
|
|
17194
|
+
if (IMAGE_MIME_REGEX.test(items[i].type)) {
|
|
17195
|
+
let file = items[i].getAsFile ? items[i].getAsFile() : items[i];
|
|
17196
|
+
if (file) {
|
|
17197
|
+
this.quill.focus();
|
|
17198
|
+
this.range = this.quill.getSelection();
|
|
17199
|
+
event.preventDefault();
|
|
17200
|
+
setTimeout(() => {
|
|
17201
|
+
this.quill.focus();
|
|
17202
|
+
this.range = this.quill.getSelection();
|
|
17203
|
+
this.uploadAndInsertImage(file);
|
|
17204
|
+
}, 0);
|
|
17205
|
+
}
|
|
17206
|
+
}
|
|
17207
|
+
}
|
|
17208
|
+
}
|
|
17069
17209
|
},
|
|
17070
17210
|
customVideoScreenShot() {
|
|
17071
17211
|
//获取视频截图
|
|
@@ -17073,25 +17213,47 @@ var script$f = Vue.extend({
|
|
|
17073
17213
|
},
|
|
17074
17214
|
generateRandomId() {
|
|
17075
17215
|
return "id-" + Math.random().toString(36).slice(2, 11) + "-" + Date.now();
|
|
17216
|
+
},
|
|
17217
|
+
getLocaleValue(key) {
|
|
17218
|
+
return this.t(key, this.$rootComponent.currentLanguage);
|
|
17219
|
+
},
|
|
17220
|
+
uploadAndInsertImage(file) {
|
|
17221
|
+
const formData = new FormData();
|
|
17222
|
+
formData.append("file", file);
|
|
17223
|
+
let qmsAxios = this.$serverHttp;
|
|
17224
|
+
if (qmsAxios) {
|
|
17225
|
+
qmsAxios.post("/api/storage/upload/file", formData).then(response => {
|
|
17226
|
+
if (response.status === 200 && response.data.data) {
|
|
17227
|
+
let imageUrl = response.data.data.downloadUrl;
|
|
17228
|
+
this.insertImageUrl(imageUrl);
|
|
17229
|
+
}
|
|
17230
|
+
}).catch(error => {
|
|
17231
|
+
console.log("upload fail", error);
|
|
17232
|
+
this.$Message.error(this.getLocaleValue("survey_response.common.tips.upload_fail"));
|
|
17233
|
+
});
|
|
17234
|
+
}
|
|
17076
17235
|
}
|
|
17077
17236
|
},
|
|
17078
17237
|
data() {
|
|
17079
17238
|
return {
|
|
17080
17239
|
quill: null,
|
|
17081
|
-
componentId: null
|
|
17082
|
-
editorContent: ""
|
|
17240
|
+
componentId: null
|
|
17083
17241
|
};
|
|
17084
17242
|
},
|
|
17085
17243
|
watch: {
|
|
17086
17244
|
value(newValue) {
|
|
17087
17245
|
if (newValue !== this.quill.root.innerHTML) {
|
|
17088
17246
|
this.quill.root.innerHTML = newValue;
|
|
17247
|
+
this.$nextTick(() => {
|
|
17248
|
+
this.quill.setSelection(newValue.length);
|
|
17249
|
+
});
|
|
17089
17250
|
}
|
|
17090
17251
|
}
|
|
17091
17252
|
},
|
|
17092
17253
|
beforeDestroy() {
|
|
17093
17254
|
// 移除事件监听器
|
|
17094
17255
|
EventBus.$off("screen-shot-urls", this.handleScreenShotUrl);
|
|
17256
|
+
this.quill.root.removeEventListener("paste", this.handlePaste);
|
|
17095
17257
|
}
|
|
17096
17258
|
});
|
|
17097
17259
|
|
|
@@ -17105,9 +17267,9 @@ var __vue_staticRenderFns__$f = [];
|
|
|
17105
17267
|
/* style */
|
|
17106
17268
|
const __vue_inject_styles__$f = function (inject) {
|
|
17107
17269
|
if (!inject) return
|
|
17108
|
-
inject("data-v-13726a68_0", { source: "/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked]>.ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:0}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}", map: undefined, media: undefined })
|
|
17109
|
-
,inject("data-v-13726a68_1", { source: "/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked]>.ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:0}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}", map: undefined, media: undefined })
|
|
17110
|
-
,inject("data-v-
|
|
17270
|
+
inject("data-v-0cbd929a_0", { source: "/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked]>.ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:0}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}", map: undefined, media: undefined })
|
|
17271
|
+
,inject("data-v-0cbd929a_1", { source: "/*!\n * Quill Editor v2.0.2\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:'\\2022'}.ql-editor li[data-list=checked]>.ql-ui:before{content:'\\2611'}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:'\\2610'}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) '. '}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) '. '}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:0}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}", map: undefined, media: undefined })
|
|
17272
|
+
,inject("data-v-0cbd929a_2", { source: ".ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:0 4px 2px 4px}.ql-snow .ql-editor img{max-width:600px;height:auto;width:100%}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;max-height:500px}", map: undefined, media: undefined });
|
|
17111
17273
|
|
|
17112
17274
|
};
|
|
17113
17275
|
/* scoped */
|
|
@@ -17198,26 +17360,17 @@ const __vue_script__$e = script$e;
|
|
|
17198
17360
|
var __vue_render__$e = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('FormItem',{attrs:{"prop":_vm.answerProp,"rules":{
|
|
17199
17361
|
required: _vm.question.options.required,
|
|
17200
17362
|
message: _vm.t('survey_response.question.question_required'),
|
|
17201
|
-
}}},[_c('quill-rich-text',{attrs:{"disabled":_vm.readonly || _vm.question.options.readonly,"placeholder":_vm.placeholder,"maxlength":_vm.question.options.wordLimit,"
|
|
17202
|
-
'survey_response.common.tips.get_screen_shot_name',
|
|
17203
|
-
_vm.$rootComponent.currentLanguage
|
|
17204
|
-
),"upload-image-exceed-limit":_vm.t(
|
|
17205
|
-
'survey_response.common.tips.upload_image_exceed_the_limit',
|
|
17206
|
-
_vm.$rootComponent.currentLanguage
|
|
17207
|
-
),"max-length-hint":_vm.t(
|
|
17208
|
-
'survey_response.common.tips.max_length_hint',
|
|
17209
|
-
_vm.$rootComponent.currentLanguage
|
|
17210
|
-
)},model:{value:(_vm.value.answer),callback:function ($$v) {_vm.$set(_vm.value, "answer", (typeof $$v === 'string'? $$v.trim(): $$v));},expression:"value.answer"}}),_vm._v(" "),_c('div')],1)],1)};
|
|
17363
|
+
}}},[_c('quill-rich-text',{attrs:{"disabled":_vm.readonly || _vm.question.options.readonly,"placeholder":_vm.placeholder,"maxlength":_vm.question.options.wordLimit},model:{value:(_vm.value.answer),callback:function ($$v) {_vm.$set(_vm.value, "answer", (typeof $$v === 'string'? $$v.trim(): $$v));},expression:"value.answer"}}),_vm._v(" "),_c('div')],1)],1)};
|
|
17211
17364
|
var __vue_staticRenderFns__$e = [];
|
|
17212
17365
|
|
|
17213
17366
|
/* style */
|
|
17214
17367
|
const __vue_inject_styles__$e = function (inject) {
|
|
17215
17368
|
if (!inject) return
|
|
17216
|
-
inject("data-v-
|
|
17369
|
+
inject("data-v-e120591e_0", { source: ".processed-answer[data-v-e120591e]{background-color:#f3f3f3;opacity:1;cursor:not-allowed;color:#ccc;width:100%;min-height:94px;border:1px solid #dcdee2;border-radius:4px;padding:4px 8px;line-height:1.5}", map: undefined, media: undefined });
|
|
17217
17370
|
|
|
17218
17371
|
};
|
|
17219
17372
|
/* scoped */
|
|
17220
|
-
const __vue_scope_id__$e = "data-v-
|
|
17373
|
+
const __vue_scope_id__$e = "data-v-e120591e";
|
|
17221
17374
|
/* module identifier */
|
|
17222
17375
|
const __vue_module_identifier__$e = undefined;
|
|
17223
17376
|
/* functional template */
|
|
@@ -17568,90 +17721,6 @@ var __vue_staticRenderFns__$b = [];
|
|
|
17568
17721
|
|
|
17569
17722
|
var TextTitle = __vue_component__$b;
|
|
17570
17723
|
|
|
17571
|
-
var defaultLang = {
|
|
17572
|
-
survey_response: {
|
|
17573
|
-
locale: "zh-CN",
|
|
17574
|
-
common: {
|
|
17575
|
-
back: "返回",
|
|
17576
|
-
save: "保存",
|
|
17577
|
-
submit: "提交",
|
|
17578
|
-
cancel: "取消",
|
|
17579
|
-
languages: {
|
|
17580
|
-
"zh-CN": "简体中文",
|
|
17581
|
-
"zh-TW": "繁体中文",
|
|
17582
|
-
"en-US": "English",
|
|
17583
|
-
},
|
|
17584
|
-
tips: {
|
|
17585
|
-
get_screen_shot_name: "插入视频截图",
|
|
17586
|
-
upload_image_exceed_the_limit: "图片数量超过限制",
|
|
17587
|
-
max_length_hint: "字数超过限制",
|
|
17588
|
-
}
|
|
17589
|
-
},
|
|
17590
|
-
question: {
|
|
17591
|
-
please_enter: "请填写",
|
|
17592
|
-
question_required: "此题必填",
|
|
17593
|
-
survey_confirm_content: "确认要提交问卷?",
|
|
17594
|
-
noQuestion: "还未添加题目!",
|
|
17595
|
-
input_text_limit: "输入项字数不少于{0}字",
|
|
17596
|
-
choice_required: "此项必填",
|
|
17597
|
-
},
|
|
17598
|
-
},
|
|
17599
|
-
};
|
|
17600
|
-
|
|
17601
|
-
let lang = defaultLang;
|
|
17602
|
-
let merged = false;
|
|
17603
|
-
let i18nHandler = function (...args) {
|
|
17604
|
-
const vuei18n = Object.getPrototypeOf(this || Vue).$t;
|
|
17605
|
-
if (typeof vuei18n === "function" && !!Vue.locale) {
|
|
17606
|
-
if (!merged) {
|
|
17607
|
-
merged = true;
|
|
17608
|
-
Vue.locale(Vue.config.lang, deepmerge(lang, Vue.locale(Vue.config.lang) || {}, { clone: true }));
|
|
17609
|
-
}
|
|
17610
|
-
return vuei18n.apply(this, args);
|
|
17611
|
-
}
|
|
17612
|
-
};
|
|
17613
|
-
const t = function (...args) {
|
|
17614
|
-
let value = i18nHandler.apply(this, args);
|
|
17615
|
-
if (value !== null && typeof value !== "undefined") {
|
|
17616
|
-
return value;
|
|
17617
|
-
}
|
|
17618
|
-
const array = args[0].split(".");
|
|
17619
|
-
let current = lang;
|
|
17620
|
-
for (let i = 0, len = array.length; i < len; i++) {
|
|
17621
|
-
const property = array[i];
|
|
17622
|
-
value = current[property];
|
|
17623
|
-
if (i === len - 1) {
|
|
17624
|
-
return value;
|
|
17625
|
-
}
|
|
17626
|
-
else if (!value) {
|
|
17627
|
-
return "";
|
|
17628
|
-
}
|
|
17629
|
-
current = value;
|
|
17630
|
-
}
|
|
17631
|
-
return "";
|
|
17632
|
-
};
|
|
17633
|
-
const use = function (l) {
|
|
17634
|
-
lang = l || lang;
|
|
17635
|
-
};
|
|
17636
|
-
const i18n = function (fn) {
|
|
17637
|
-
i18nHandler = fn || i18nHandler;
|
|
17638
|
-
};
|
|
17639
|
-
function currentLang() {
|
|
17640
|
-
return lang;
|
|
17641
|
-
}
|
|
17642
|
-
var locale = { use, t, i18n, currentLang };
|
|
17643
|
-
|
|
17644
|
-
var LocaleMixin = Vue.extend({
|
|
17645
|
-
methods: {
|
|
17646
|
-
t(...args) {
|
|
17647
|
-
return t.apply(this, args);
|
|
17648
|
-
},
|
|
17649
|
-
i18nText(obj, prettyMath = true) {
|
|
17650
|
-
return translate(obj, this.$surveyLanguage, prettyMath);
|
|
17651
|
-
},
|
|
17652
|
-
},
|
|
17653
|
-
});
|
|
17654
|
-
|
|
17655
17724
|
var script$a = Vue.extend({
|
|
17656
17725
|
name: "fill-blank",
|
|
17657
17726
|
components: {
|
|
@@ -17713,26 +17782,17 @@ const __vue_script__$a = script$a;
|
|
|
17713
17782
|
var __vue_render__$a = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('FormItem',{attrs:{"prop":_vm.answerProp,"rules":{
|
|
17714
17783
|
required: _vm.question.options.required,
|
|
17715
17784
|
message: _vm.t('survey_response.question.question_required'),
|
|
17716
|
-
}}},[_c('quill-rich-text',{attrs:{"placeholder":_vm.placeholder,"disabled":_vm.readonly || _vm.question.options.readonly,"
|
|
17717
|
-
'survey_response.common.tips.get_screen_shot_name',
|
|
17718
|
-
_vm.$rootComponent.currentLanguage
|
|
17719
|
-
),"upload-image-exceed-limit":_vm.t(
|
|
17720
|
-
'survey_response.common.tips.upload_image_exceed_the_limit',
|
|
17721
|
-
_vm.$rootComponent.currentLanguage
|
|
17722
|
-
),"max-length-hint":_vm.t(
|
|
17723
|
-
'survey_response.common.tips.max_length_hint',
|
|
17724
|
-
_vm.$rootComponent.currentLanguage
|
|
17725
|
-
)},model:{value:(_vm.value.answer),callback:function ($$v) {_vm.$set(_vm.value, "answer", (typeof $$v === 'string'? $$v.trim(): $$v));},expression:"value.answer"}})],1)],1)};
|
|
17785
|
+
}}},[_c('quill-rich-text',{attrs:{"placeholder":_vm.placeholder,"disabled":_vm.readonly || _vm.question.options.readonly},model:{value:(_vm.value.answer),callback:function ($$v) {_vm.$set(_vm.value, "answer", (typeof $$v === 'string'? $$v.trim(): $$v));},expression:"value.answer"}})],1)],1)};
|
|
17726
17786
|
var __vue_staticRenderFns__$a = [];
|
|
17727
17787
|
|
|
17728
17788
|
/* style */
|
|
17729
17789
|
const __vue_inject_styles__$a = function (inject) {
|
|
17730
17790
|
if (!inject) return
|
|
17731
|
-
inject("data-v-
|
|
17791
|
+
inject("data-v-6b66ad70_0", { source: ".processed-answer[data-v-6b66ad70]{background-color:#f3f3f3;opacity:1;cursor:not-allowed;color:#ccc;width:100%;min-height:32px;border:1px solid #dcdee2;border-radius:4px;padding:4px 8px;line-height:1.5}", map: undefined, media: undefined });
|
|
17732
17792
|
|
|
17733
17793
|
};
|
|
17734
17794
|
/* scoped */
|
|
17735
|
-
const __vue_scope_id__$a = "data-v-
|
|
17795
|
+
const __vue_scope_id__$a = "data-v-6b66ad70";
|
|
17736
17796
|
/* module identifier */
|
|
17737
17797
|
const __vue_module_identifier__$a = undefined;
|
|
17738
17798
|
/* functional template */
|
|
@@ -18795,7 +18855,7 @@ var script$1 = Vue.extend({
|
|
|
18795
18855
|
},
|
|
18796
18856
|
},
|
|
18797
18857
|
mounted() {
|
|
18798
|
-
EventBus.$on("get-screen-shot-image", this.
|
|
18858
|
+
EventBus.$on("get-screen-shot-image", this.getScreenShotImage);
|
|
18799
18859
|
},
|
|
18800
18860
|
created() {
|
|
18801
18861
|
this.survey.questions.forEach((item, index) => (item.originalIndex = index));
|
|
@@ -18812,7 +18872,7 @@ var script$1 = Vue.extend({
|
|
|
18812
18872
|
},
|
|
18813
18873
|
},
|
|
18814
18874
|
methods: {
|
|
18815
|
-
|
|
18875
|
+
getScreenShotImage(message) {
|
|
18816
18876
|
this.$emit("getScreenShot", message);
|
|
18817
18877
|
},
|
|
18818
18878
|
updateAnswerByQuestion(question, resetData) {
|
|
@@ -19083,19 +19143,12 @@ var __vue_staticRenderFns__ = [];
|
|
|
19083
19143
|
|
|
19084
19144
|
var MoreSurveyResponse = __vue_component__;
|
|
19085
19145
|
|
|
19086
|
-
class Constants {
|
|
19087
|
-
constructor() {
|
|
19088
|
-
this.STATUS_ENABLED = "ENABLED";
|
|
19089
|
-
this.STATUS_DRAFT = "DRAFT";
|
|
19090
|
-
}
|
|
19091
|
-
}
|
|
19092
|
-
const consts = new Constants();
|
|
19093
|
-
|
|
19094
19146
|
class SurveyResponseOptions {
|
|
19095
19147
|
}
|
|
19096
19148
|
class SurveyResponsePlugin {
|
|
19097
19149
|
static install(vue, options) {
|
|
19098
19150
|
Vue.prototype.$consts = consts;
|
|
19151
|
+
Vue.prototype.$Message = Message;
|
|
19099
19152
|
Vue.prototype.$surveyLanguage = _.camelCase(options.locale);
|
|
19100
19153
|
locale.use(options.locale);
|
|
19101
19154
|
locale.i18n(options.i18n);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wg-npm/survey-response",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.214",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"lint-fix": "eslint \"**/*.ts\" \"**/*.vue\" --fix --no-error-on-unmatched-pattern"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@wg-npm/survey-core": "0.5.
|
|
16
|
-
"@wg-npm/survey-service-api": "0.5.
|
|
15
|
+
"@wg-npm/survey-core": "0.5.214",
|
|
16
|
+
"@wg-npm/survey-service-api": "0.5.214",
|
|
17
17
|
"axios": "^0.19.2",
|
|
18
18
|
"deepmerge": "^4.2.2",
|
|
19
19
|
"lodash": "^4.17.15",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@typescript-eslint/parser": "^3.6.0",
|
|
35
35
|
"@vue/eslint-config-prettier": "^6.0.0",
|
|
36
36
|
"@vue/eslint-config-typescript": "^5.0.2",
|
|
37
|
-
"@wg-npm/survey-core": "0.5.
|
|
38
|
-
"@wg-npm/survey-service-api": "0.5.
|
|
37
|
+
"@wg-npm/survey-core": "0.5.214",
|
|
38
|
+
"@wg-npm/survey-service-api": "0.5.214",
|
|
39
39
|
"acorn": "^7.3.1",
|
|
40
40
|
"axios": "^0.19.2",
|
|
41
41
|
"babelrc-rollup": "^3.0.0",
|
|
@@ -11,24 +11,6 @@
|
|
|
11
11
|
v-model.trim="value.answer"
|
|
12
12
|
:placeholder="placeholder"
|
|
13
13
|
:disabled="readonly || question.options.readonly"
|
|
14
|
-
:video-screen-shot-button-name="
|
|
15
|
-
t(
|
|
16
|
-
'survey_response.common.tips.get_screen_shot_name',
|
|
17
|
-
$rootComponent.currentLanguage
|
|
18
|
-
)
|
|
19
|
-
"
|
|
20
|
-
:upload-image-exceed-limit="
|
|
21
|
-
t(
|
|
22
|
-
'survey_response.common.tips.upload_image_exceed_the_limit',
|
|
23
|
-
$rootComponent.currentLanguage
|
|
24
|
-
)
|
|
25
|
-
"
|
|
26
|
-
:max-length-hint="
|
|
27
|
-
t(
|
|
28
|
-
'survey_response.common.tips.max_length_hint',
|
|
29
|
-
$rootComponent.currentLanguage
|
|
30
|
-
)
|
|
31
|
-
"
|
|
32
14
|
></quill-rich-text>
|
|
33
15
|
</FormItem>
|
|
34
16
|
</div>
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
<script>
|
|
8
8
|
import Quill from "quill";
|
|
9
9
|
import { EventBus } from "../../../event-bus";
|
|
10
|
+
import LocalMixin from "../../../mixins/locale-mixin.ts";
|
|
11
|
+
import { consts } from "../../../constants.ts";
|
|
10
12
|
import Vue from "vue";
|
|
11
13
|
|
|
12
14
|
export default Vue.extend({
|
|
@@ -15,7 +17,11 @@ export default Vue.extend({
|
|
|
15
17
|
showVideoScreenShotButton: {
|
|
16
18
|
default: false,
|
|
17
19
|
},
|
|
20
|
+
$rootComponent: {
|
|
21
|
+
default: {},
|
|
22
|
+
},
|
|
18
23
|
},
|
|
24
|
+
mixins: [LocalMixin],
|
|
19
25
|
props: {
|
|
20
26
|
value: {
|
|
21
27
|
type: String,
|
|
@@ -33,48 +39,57 @@ export default Vue.extend({
|
|
|
33
39
|
type: Number,
|
|
34
40
|
default: 5000,
|
|
35
41
|
},
|
|
36
|
-
videoScreenShotButtonName: {
|
|
37
|
-
type: String,
|
|
38
|
-
default: "插入视频截图",
|
|
39
|
-
},
|
|
40
|
-
uploadImageExceedLimit: {
|
|
41
|
-
type: String,
|
|
42
|
-
default: "图片数量超过限制",
|
|
43
|
-
},
|
|
44
|
-
maxLengthHint: {
|
|
45
|
-
type: String,
|
|
46
|
-
default: "字数超过限制",
|
|
47
|
-
},
|
|
48
42
|
},
|
|
49
43
|
mounted() {
|
|
50
44
|
this.initQuill();
|
|
51
|
-
this.
|
|
52
|
-
EventBus.$on("screen-shot-urls", this.handleScreenShotUrl);
|
|
45
|
+
EventBus.$on("screen-shot-urls", this.addScreenShotUrl);
|
|
53
46
|
this.componentId = this.generateRandomId();
|
|
54
47
|
},
|
|
55
48
|
computed: {
|
|
56
49
|
imageCount() {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
if (this.value) {
|
|
51
|
+
let imgTagRegex = /<img\s[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/g;
|
|
52
|
+
let matches = this.value.match(imgTagRegex);
|
|
53
|
+
return matches ? matches.length : 0;
|
|
54
|
+
}
|
|
55
|
+
return 0;
|
|
60
56
|
},
|
|
61
57
|
},
|
|
62
58
|
methods: {
|
|
63
|
-
|
|
59
|
+
addScreenShotUrl(screenData) {
|
|
64
60
|
if (this.componentId === screenData.messageId) {
|
|
65
|
-
if (this.imageCount >
|
|
66
|
-
this.$Message.error(
|
|
61
|
+
if (this.imageCount > consts.RICH_TEXT_IMAGE_COUNT_LIMIT) {
|
|
62
|
+
this.$Message.error(
|
|
63
|
+
this.getLocaleValue(
|
|
64
|
+
"survey_response.common.tips.upload_image_exceed_the_limit"
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
for (let url of screenData.urls) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
this.insertImageUrl(url);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
insertImageEmbed(url) {
|
|
75
|
+
let range = this.quill.getSelection();
|
|
76
|
+
if (!range) {
|
|
77
|
+
range = { index: this.quill.getLength(), length: 0 };
|
|
78
|
+
}
|
|
79
|
+
this.quill.insertEmbed(range, "image", url, "user");
|
|
80
|
+
this.$nextTick(() => {
|
|
81
|
+
this.quill.update("user");
|
|
82
|
+
});
|
|
83
|
+
},
|
|
84
|
+
insertImageUrl(url) {
|
|
85
|
+
if (url) {
|
|
86
|
+
let range = this.quill.getSelection();
|
|
87
|
+
if (!range) {
|
|
88
|
+
range = { index: this.quill.getLength(), length: 0 };
|
|
77
89
|
}
|
|
90
|
+
const imgTag = `<img src="${url}" alt="image load fail">`;
|
|
91
|
+
this.quill.clipboard.dangerouslyPasteHTML(range.index, imgTag);
|
|
92
|
+
this.quill.setSelection(range.index + 1);
|
|
78
93
|
}
|
|
79
94
|
},
|
|
80
95
|
changeVideoScreenShotButtonName() {
|
|
@@ -85,7 +100,9 @@ export default Vue.extend({
|
|
|
85
100
|
);
|
|
86
101
|
if (buttons.length > 0) {
|
|
87
102
|
let button = buttons[0];
|
|
88
|
-
button.innerHTML = this.
|
|
103
|
+
button.innerHTML = this.getLocaleValue(
|
|
104
|
+
"survey_response.common.tips.get_screen_shot_name"
|
|
105
|
+
);
|
|
89
106
|
button.style.padding = "2px";
|
|
90
107
|
button.style.fontSize = "12px";
|
|
91
108
|
button.style.color = "rgb(105, 140, 208)";
|
|
@@ -131,17 +148,55 @@ export default Vue.extend({
|
|
|
131
148
|
});
|
|
132
149
|
this.quill.root.innerHTML = this.value;
|
|
133
150
|
this.quill.on("text-change", this.handleTextChange);
|
|
151
|
+
//quill 剪切事件自定义处理
|
|
152
|
+
this.quill.root.addEventListener("paste", this.handlePaste, true);
|
|
153
|
+
if (this.showVideoScreenShotButton && !this.disabled) {
|
|
154
|
+
this.changeVideoScreenShotButtonName();
|
|
155
|
+
}
|
|
134
156
|
},
|
|
135
157
|
handleTextChange() {
|
|
136
|
-
|
|
137
|
-
let text = this.quill.getText();
|
|
158
|
+
let text = this.quill.getText().trim();
|
|
138
159
|
if (text.length > this.maxlength) {
|
|
139
|
-
this
|
|
140
|
-
this.
|
|
160
|
+
this.quill.deleteText(this.maxlength, text.length);
|
|
161
|
+
this.$Message.error(
|
|
162
|
+
this.getLocaleValue("survey_response.common.tips.max_length_hint")
|
|
163
|
+
);
|
|
141
164
|
}
|
|
142
165
|
text = this.quill.getText();
|
|
143
|
-
this
|
|
144
|
-
|
|
166
|
+
let html = this.quill.root.innerHTML;
|
|
167
|
+
//手动删除文字时,删空富文本留下的内容是<p><br></p>。需要将内容修改为'',外层必填校验才会生效
|
|
168
|
+
if (html.trim() === '<p><br></p>') {
|
|
169
|
+
// 设置编辑器内容为空
|
|
170
|
+
this.quill.root.innerHTML = '';
|
|
171
|
+
html = '';
|
|
172
|
+
}
|
|
173
|
+
this.$emit("input", html);
|
|
174
|
+
},
|
|
175
|
+
handlePaste(event) {
|
|
176
|
+
let clipboard = event.clipboardData || window.clipboardData;
|
|
177
|
+
|
|
178
|
+
// IE 11 is .files other browsers are .items
|
|
179
|
+
if (clipboard && (clipboard.items || clipboard.files)) {
|
|
180
|
+
let items = clipboard.items || clipboard.files;
|
|
181
|
+
const IMAGE_MIME_REGEX = /^image\/(jpe?g|gif|png|svg|webp)$/i;
|
|
182
|
+
|
|
183
|
+
for (let i = 0; i < items.length; i++) {
|
|
184
|
+
if (IMAGE_MIME_REGEX.test(items[i].type)) {
|
|
185
|
+
let file = items[i].getAsFile ? items[i].getAsFile() : items[i];
|
|
186
|
+
|
|
187
|
+
if (file) {
|
|
188
|
+
this.quill.focus();
|
|
189
|
+
this.range = this.quill.getSelection();
|
|
190
|
+
event.preventDefault();
|
|
191
|
+
setTimeout(() => {
|
|
192
|
+
this.quill.focus();
|
|
193
|
+
this.range = this.quill.getSelection();
|
|
194
|
+
this.uploadAndInsertImage(file);
|
|
195
|
+
}, 0);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
145
200
|
},
|
|
146
201
|
customVideoScreenShot() {
|
|
147
202
|
//获取视频截图
|
|
@@ -150,24 +205,51 @@ export default Vue.extend({
|
|
|
150
205
|
generateRandomId() {
|
|
151
206
|
return "id-" + Math.random().toString(36).slice(2, 11) + "-" + Date.now();
|
|
152
207
|
},
|
|
208
|
+
getLocaleValue(key) {
|
|
209
|
+
return this.t(key, this.$rootComponent.currentLanguage);
|
|
210
|
+
},
|
|
211
|
+
uploadAndInsertImage(file) {
|
|
212
|
+
const formData = new FormData();
|
|
213
|
+
formData.append("file", file);
|
|
214
|
+
let qmsAxios = this.$serverHttp;
|
|
215
|
+
if (qmsAxios) {
|
|
216
|
+
qmsAxios
|
|
217
|
+
.post("/api/storage/upload/file", formData)
|
|
218
|
+
.then((response) => {
|
|
219
|
+
if (response.status === 200 && response.data.data) {
|
|
220
|
+
let imageUrl = response.data.data.downloadUrl;
|
|
221
|
+
this.insertImageUrl(imageUrl);
|
|
222
|
+
}
|
|
223
|
+
})
|
|
224
|
+
.catch((error) => {
|
|
225
|
+
console.log("upload fail", error);
|
|
226
|
+
this.$Message.error(
|
|
227
|
+
this.getLocaleValue("survey_response.common.tips.upload_fail")
|
|
228
|
+
);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
},
|
|
153
232
|
},
|
|
154
233
|
data() {
|
|
155
234
|
return {
|
|
156
235
|
quill: null,
|
|
157
236
|
componentId: null,
|
|
158
|
-
editorContent: "",
|
|
159
237
|
};
|
|
160
238
|
},
|
|
161
239
|
watch: {
|
|
162
240
|
value(newValue) {
|
|
163
241
|
if (newValue !== this.quill.root.innerHTML) {
|
|
164
242
|
this.quill.root.innerHTML = newValue;
|
|
243
|
+
this.$nextTick(() => {
|
|
244
|
+
this.quill.setSelection(newValue.length);
|
|
245
|
+
});
|
|
165
246
|
}
|
|
166
247
|
},
|
|
167
248
|
},
|
|
168
249
|
beforeDestroy() {
|
|
169
250
|
// 移除事件监听器
|
|
170
251
|
EventBus.$off("screen-shot-urls", this.handleScreenShotUrl);
|
|
252
|
+
this.quill.root.removeEventListener("paste", this.handlePaste);
|
|
171
253
|
},
|
|
172
254
|
});
|
|
173
255
|
</script>
|
|
@@ -175,17 +257,20 @@ export default Vue.extend({
|
|
|
175
257
|
<style src="quill/dist/quill.core.css"></style>
|
|
176
258
|
<style>
|
|
177
259
|
/* Quill的基本样式已经包含在引入的CSS文件中,如有需要,可以在这里添加额外的样式 */
|
|
178
|
-
|
|
179
|
-
max-height: 200px; /* 设置图片的最大高度为 200px */
|
|
180
|
-
width: auto; /* 保持宽度自动调整 */
|
|
181
|
-
}
|
|
260
|
+
|
|
182
261
|
.ql-snow .ql-color-picker .ql-picker-label,
|
|
183
262
|
.ql-snow .ql-icon-picker .ql-picker-label {
|
|
184
|
-
padding:
|
|
263
|
+
padding: 0 4px 2px 4px;
|
|
264
|
+
}
|
|
265
|
+
.ql-snow .ql-editor img {
|
|
266
|
+
max-width: 600px;
|
|
267
|
+
height: auto;
|
|
268
|
+
width: 100%;
|
|
185
269
|
}
|
|
186
270
|
.ql-editor {
|
|
187
271
|
box-sizing: border-box;
|
|
188
|
-
counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8
|
|
272
|
+
counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8
|
|
273
|
+
list-9;
|
|
189
274
|
line-height: 1.42;
|
|
190
275
|
height: 100%;
|
|
191
276
|
outline: 0;
|
|
@@ -196,6 +281,6 @@ export default Vue.extend({
|
|
|
196
281
|
text-align: left;
|
|
197
282
|
white-space: pre-wrap;
|
|
198
283
|
word-wrap: break-word;
|
|
199
|
-
max-height:
|
|
284
|
+
max-height: 500px;
|
|
200
285
|
}
|
|
201
286
|
</style>
|
|
@@ -12,24 +12,6 @@
|
|
|
12
12
|
:disabled="readonly || question.options.readonly"
|
|
13
13
|
:placeholder="placeholder"
|
|
14
14
|
:maxlength="question.options.wordLimit"
|
|
15
|
-
:video-screen-shot-button-name="
|
|
16
|
-
t(
|
|
17
|
-
'survey_response.common.tips.get_screen_shot_name',
|
|
18
|
-
$rootComponent.currentLanguage
|
|
19
|
-
)
|
|
20
|
-
"
|
|
21
|
-
:upload-image-exceed-limit="
|
|
22
|
-
t(
|
|
23
|
-
'survey_response.common.tips.upload_image_exceed_the_limit',
|
|
24
|
-
$rootComponent.currentLanguage
|
|
25
|
-
)
|
|
26
|
-
"
|
|
27
|
-
:max-length-hint="
|
|
28
|
-
t(
|
|
29
|
-
'survey_response.common.tips.max_length_hint',
|
|
30
|
-
$rootComponent.currentLanguage
|
|
31
|
-
)
|
|
32
|
-
"
|
|
33
15
|
></quill-rich-text>
|
|
34
16
|
<div></div>
|
|
35
17
|
</FormItem>
|
|
@@ -90,7 +90,7 @@ export default Vue.extend({
|
|
|
90
90
|
},
|
|
91
91
|
},
|
|
92
92
|
mounted() {
|
|
93
|
-
EventBus.$on("get-screen-shot-image", this.
|
|
93
|
+
EventBus.$on("get-screen-shot-image", this.getScreenShotImage);
|
|
94
94
|
},
|
|
95
95
|
created() {
|
|
96
96
|
this.survey.questions.forEach(
|
|
@@ -113,7 +113,7 @@ export default Vue.extend({
|
|
|
113
113
|
},
|
|
114
114
|
},
|
|
115
115
|
methods: {
|
|
116
|
-
|
|
116
|
+
getScreenShotImage(message) {
|
|
117
117
|
this.$emit("getScreenShot", message);
|
|
118
118
|
},
|
|
119
119
|
updateAnswerByQuestion(question, resetData) {
|
package/src/constants.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ import locale from "./locale";
|
|
|
5
5
|
import { consts } from "./constants";
|
|
6
6
|
import LocaleMixin from "./mixins/locale-mixin";
|
|
7
7
|
import _ from "lodash";
|
|
8
|
+
import {Message} from "view-design";
|
|
8
9
|
|
|
9
10
|
export class SurveyResponseOptions {
|
|
10
11
|
locale: any;
|
|
@@ -14,6 +15,7 @@ export class SurveyResponseOptions {
|
|
|
14
15
|
export default class SurveyResponsePlugin {
|
|
15
16
|
static install(vue: any, options: SurveyResponseOptions) {
|
|
16
17
|
Vue.prototype.$consts = consts;
|
|
18
|
+
Vue.prototype.$Message = Message;
|
|
17
19
|
Vue.prototype.$surveyLanguage = _.camelCase(options.locale);
|
|
18
20
|
locale.use(options.locale);
|
|
19
21
|
locale.i18n(options.i18n);
|
package/src/locale/lang/en-US.ts
CHANGED