jit-viewer 1.1.3 → 1.1.4
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/README.md +9 -0
- package/README.zh-CN.md +9 -0
- package/dist/iife/jit-viewer.min.css +1 -1
- package/dist/iife/jit-viewer.min.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +196 -91
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -128696,10 +128696,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128696
128696
|
height: `${100 / props.zoom}%`
|
|
128697
128697
|
};
|
|
128698
128698
|
});
|
|
128699
|
+
function handleIframeLoad() {
|
|
128700
|
+
loading.value = false;
|
|
128701
|
+
emit2("load");
|
|
128702
|
+
}
|
|
128699
128703
|
async function loadContent() {
|
|
128700
|
-
console.log("[HtmlRender] loadContent called, iframe ready:", !!iframeRef.value, "source:", props.source);
|
|
128701
128704
|
if (!iframeRef.value) {
|
|
128702
|
-
console.log("[HtmlRender] iframe not ready, retrying in 100ms...");
|
|
128703
128705
|
setTimeout(() => loadContent(), 100);
|
|
128704
128706
|
return;
|
|
128705
128707
|
}
|
|
@@ -128707,64 +128709,67 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128707
128709
|
error.value = "";
|
|
128708
128710
|
try {
|
|
128709
128711
|
if (!props.source) {
|
|
128710
|
-
console.log("[HtmlRender] no source provided");
|
|
128711
128712
|
loading.value = false;
|
|
128712
128713
|
return;
|
|
128713
128714
|
}
|
|
128714
|
-
|
|
128715
|
-
|
|
128716
|
-
|
|
128717
|
-
if (url.startsWith("http://") || url.startsWith("https://")) {
|
|
128718
|
-
console.log("[HtmlRender] loading web URL:", url);
|
|
128719
|
-
iframeRef.value.src = url;
|
|
128720
|
-
loading.value = false;
|
|
128721
|
-
emit2("load");
|
|
128722
|
-
return;
|
|
128723
|
-
}
|
|
128724
|
-
if (url.startsWith("data:") || url.startsWith("blob:")) {
|
|
128725
|
-
iframeRef.value.src = url;
|
|
128726
|
-
loading.value = false;
|
|
128727
|
-
emit2("load");
|
|
128728
|
-
return;
|
|
128729
|
-
}
|
|
128730
|
-
}
|
|
128731
|
-
if (props.source instanceof File || props.source instanceof Blob) {
|
|
128732
|
-
console.log("[HtmlRender] source is File/Blob");
|
|
128733
|
-
const htmlContent = await readHtmlContent(props.source);
|
|
128734
|
-
console.log("[HtmlRender] read content length:", htmlContent.length);
|
|
128735
|
-
writeHtmlToIframe(htmlContent);
|
|
128715
|
+
const resolved = await resolveHtmlContent(props.source);
|
|
128716
|
+
if (resolved) {
|
|
128717
|
+
writeHtmlToIframe(resolved.html, resolved.baseUrl);
|
|
128736
128718
|
return;
|
|
128737
128719
|
}
|
|
128738
|
-
|
|
128739
|
-
|
|
128740
|
-
|
|
128741
|
-
const htmlContent = decoder.decode(props.source);
|
|
128742
|
-
writeHtmlToIframe(htmlContent);
|
|
128720
|
+
throw new Error("Unsupported HTML source");
|
|
128721
|
+
} catch (err) {
|
|
128722
|
+
if (tryFallbackToIframeUrl(props.source)) {
|
|
128743
128723
|
return;
|
|
128744
128724
|
}
|
|
128745
|
-
if (typeof props.source === "object" && "url" in props.source) {
|
|
128746
|
-
console.log("[HtmlRender] source is config object");
|
|
128747
|
-
const { url } = props.source;
|
|
128748
|
-
if (url.startsWith("http://") || url.startsWith("https://")) {
|
|
128749
|
-
iframeRef.value.src = url;
|
|
128750
|
-
loading.value = false;
|
|
128751
|
-
emit2("load");
|
|
128752
|
-
return;
|
|
128753
|
-
}
|
|
128754
|
-
const buffer2 = await fileToArrayBuffer(props.source, {
|
|
128755
|
-
proxyUrl: props.proxyUrl,
|
|
128756
|
-
requestAdapter: props.requestAdapter
|
|
128757
|
-
});
|
|
128758
|
-
const decoder = new TextDecoder();
|
|
128759
|
-
const htmlContent = decoder.decode(buffer2);
|
|
128760
|
-
writeHtmlToIframe(htmlContent);
|
|
128761
|
-
}
|
|
128762
|
-
console.log("[HtmlRender] unknown source type");
|
|
128763
|
-
} catch (err) {
|
|
128764
|
-
console.error("[HtmlRender] load error:", err);
|
|
128765
128725
|
handleError2(err);
|
|
128766
128726
|
}
|
|
128767
128727
|
}
|
|
128728
|
+
async function resolveHtmlContent(source) {
|
|
128729
|
+
if (source instanceof File || source instanceof Blob) {
|
|
128730
|
+
return {
|
|
128731
|
+
html: await readHtmlContent(source)
|
|
128732
|
+
};
|
|
128733
|
+
}
|
|
128734
|
+
if (source instanceof ArrayBuffer) {
|
|
128735
|
+
return {
|
|
128736
|
+
html: new TextDecoder().decode(source)
|
|
128737
|
+
};
|
|
128738
|
+
}
|
|
128739
|
+
if (typeof source === "string") {
|
|
128740
|
+
if (source.startsWith("data:text/html")) {
|
|
128741
|
+
const response = await fetch(source);
|
|
128742
|
+
return {
|
|
128743
|
+
html: await response.text()
|
|
128744
|
+
};
|
|
128745
|
+
}
|
|
128746
|
+
if (source.startsWith("blob:") || source.startsWith("data:")) {
|
|
128747
|
+
const response = await fetch(source);
|
|
128748
|
+
return {
|
|
128749
|
+
html: await response.text()
|
|
128750
|
+
};
|
|
128751
|
+
}
|
|
128752
|
+
const buffer2 = await fileToArrayBuffer(source, {
|
|
128753
|
+
proxyUrl: props.proxyUrl,
|
|
128754
|
+
requestAdapter: props.requestAdapter
|
|
128755
|
+
});
|
|
128756
|
+
return {
|
|
128757
|
+
html: new TextDecoder().decode(buffer2),
|
|
128758
|
+
baseUrl: resolveBaseUrl(source)
|
|
128759
|
+
};
|
|
128760
|
+
}
|
|
128761
|
+
if (typeof source === "object" && "url" in source) {
|
|
128762
|
+
const buffer2 = await fileToArrayBuffer(source, {
|
|
128763
|
+
proxyUrl: props.proxyUrl,
|
|
128764
|
+
requestAdapter: props.requestAdapter
|
|
128765
|
+
});
|
|
128766
|
+
return {
|
|
128767
|
+
html: new TextDecoder().decode(buffer2),
|
|
128768
|
+
baseUrl: resolveBaseUrl(source.url)
|
|
128769
|
+
};
|
|
128770
|
+
}
|
|
128771
|
+
return null;
|
|
128772
|
+
}
|
|
128768
128773
|
async function readHtmlContent(source) {
|
|
128769
128774
|
return new Promise((resolve2, reject) => {
|
|
128770
128775
|
const reader = new FileReader();
|
|
@@ -128773,31 +128778,130 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128773
128778
|
reader.readAsText(source);
|
|
128774
128779
|
});
|
|
128775
128780
|
}
|
|
128776
|
-
function
|
|
128781
|
+
function resolveBaseUrl(url) {
|
|
128782
|
+
if (url.startsWith("data:") || url.startsWith("blob:")) {
|
|
128783
|
+
return void 0;
|
|
128784
|
+
}
|
|
128785
|
+
try {
|
|
128786
|
+
return new URL(url, window.location.href).href;
|
|
128787
|
+
} catch {
|
|
128788
|
+
return void 0;
|
|
128789
|
+
}
|
|
128790
|
+
}
|
|
128791
|
+
function tryFallbackToIframeUrl(source) {
|
|
128792
|
+
if (!iframeRef.value) {
|
|
128793
|
+
return false;
|
|
128794
|
+
}
|
|
128795
|
+
const url = typeof source === "string" ? source : typeof source === "object" && "url" in source ? source.url : "";
|
|
128796
|
+
if (!url) {
|
|
128797
|
+
return false;
|
|
128798
|
+
}
|
|
128799
|
+
try {
|
|
128800
|
+
iframeRef.value.removeAttribute("srcdoc");
|
|
128801
|
+
iframeRef.value.src = url;
|
|
128802
|
+
return true;
|
|
128803
|
+
} catch {
|
|
128804
|
+
return false;
|
|
128805
|
+
}
|
|
128806
|
+
}
|
|
128807
|
+
function normalizeHtmlDocument(html, baseUrl) {
|
|
128808
|
+
const parser = new DOMParser();
|
|
128809
|
+
const document2 = parser.parseFromString(html, "text/html");
|
|
128810
|
+
if (!document2.head) {
|
|
128811
|
+
const head = document2.createElement("head");
|
|
128812
|
+
document2.documentElement.insertBefore(head, document2.body || null);
|
|
128813
|
+
}
|
|
128814
|
+
if (!document2.body) {
|
|
128815
|
+
document2.documentElement.appendChild(document2.createElement("body"));
|
|
128816
|
+
}
|
|
128817
|
+
if (baseUrl && !document2.head.querySelector("base")) {
|
|
128818
|
+
const base = document2.createElement("base");
|
|
128819
|
+
base.setAttribute("href", baseUrl);
|
|
128820
|
+
document2.head.prepend(base);
|
|
128821
|
+
}
|
|
128822
|
+
if (!document2.head.querySelector('meta[name="viewport"]')) {
|
|
128823
|
+
const viewport = document2.createElement("meta");
|
|
128824
|
+
viewport.setAttribute("name", "viewport");
|
|
128825
|
+
viewport.setAttribute("content", "width=device-width, initial-scale=1.0");
|
|
128826
|
+
document2.head.appendChild(viewport);
|
|
128827
|
+
}
|
|
128828
|
+
const existingStyle = document2.head.querySelector("style[data-jv-html-preview]");
|
|
128829
|
+
if (existingStyle) {
|
|
128830
|
+
existingStyle.remove();
|
|
128831
|
+
}
|
|
128832
|
+
const style = document2.createElement("style");
|
|
128833
|
+
style.setAttribute("data-jv-html-preview", "true");
|
|
128834
|
+
style.textContent = `
|
|
128835
|
+
:root {
|
|
128836
|
+
color-scheme: light;
|
|
128837
|
+
}
|
|
128838
|
+
|
|
128839
|
+
html {
|
|
128840
|
+
background: #edf3f7;
|
|
128841
|
+
}
|
|
128842
|
+
|
|
128843
|
+
html,
|
|
128844
|
+
body {
|
|
128845
|
+
width: 100%;
|
|
128846
|
+
max-width: 100%;
|
|
128847
|
+
overflow-x: hidden;
|
|
128848
|
+
}
|
|
128849
|
+
|
|
128850
|
+
body {
|
|
128851
|
+
margin: 0;
|
|
128852
|
+
min-height: 100vh;
|
|
128853
|
+
padding: 24px;
|
|
128854
|
+
box-sizing: border-box;
|
|
128855
|
+
background:
|
|
128856
|
+
radial-gradient(circle at top right, rgba(31, 111, 139, 0.08), transparent 28%),
|
|
128857
|
+
linear-gradient(180deg, #f9fbfd 0%, #edf3f7 100%);
|
|
128858
|
+
}
|
|
128859
|
+
|
|
128860
|
+
body > * {
|
|
128861
|
+
box-sizing: border-box;
|
|
128862
|
+
max-width: min(100%, 1100px);
|
|
128863
|
+
margin-left: auto;
|
|
128864
|
+
margin-right: auto;
|
|
128865
|
+
}
|
|
128866
|
+
|
|
128867
|
+
img,
|
|
128868
|
+
svg,
|
|
128869
|
+
canvas,
|
|
128870
|
+
video,
|
|
128871
|
+
iframe,
|
|
128872
|
+
object,
|
|
128873
|
+
embed {
|
|
128874
|
+
max-width: 100% !important;
|
|
128875
|
+
height: auto;
|
|
128876
|
+
}
|
|
128877
|
+
|
|
128878
|
+
table {
|
|
128879
|
+
width: 100% !important;
|
|
128880
|
+
max-width: 100%;
|
|
128881
|
+
display: block;
|
|
128882
|
+
overflow-x: auto;
|
|
128883
|
+
box-sizing: border-box;
|
|
128884
|
+
}
|
|
128885
|
+
|
|
128886
|
+
pre,
|
|
128887
|
+
code {
|
|
128888
|
+
max-width: 100%;
|
|
128889
|
+
overflow-wrap: anywhere;
|
|
128890
|
+
}
|
|
128891
|
+
`;
|
|
128892
|
+
document2.head.appendChild(style);
|
|
128893
|
+
return `<!DOCTYPE html>
|
|
128894
|
+
${document2.documentElement.outerHTML}`;
|
|
128895
|
+
}
|
|
128896
|
+
function writeHtmlToIframe(html, baseUrl) {
|
|
128777
128897
|
if (!iframeRef.value) {
|
|
128778
128898
|
handleError2(new Error("iframe not ready"));
|
|
128779
128899
|
return;
|
|
128780
128900
|
}
|
|
128781
|
-
console.log("[HtmlRender] writing HTML to iframe, length:", html.length);
|
|
128782
128901
|
try {
|
|
128783
|
-
iframeRef.value.
|
|
128784
|
-
|
|
128785
|
-
var _a;
|
|
128786
|
-
try {
|
|
128787
|
-
const doc2 = (_a = iframeRef.value) == null ? void 0 : _a.contentDocument;
|
|
128788
|
-
if (doc2) {
|
|
128789
|
-
doc2.open();
|
|
128790
|
-
doc2.write(html);
|
|
128791
|
-
doc2.close();
|
|
128792
|
-
}
|
|
128793
|
-
} catch (e) {
|
|
128794
|
-
console.warn("[HtmlRender] document write failed, but srcdoc is set");
|
|
128795
|
-
}
|
|
128796
|
-
loading.value = false;
|
|
128797
|
-
emit2("load");
|
|
128798
|
-
});
|
|
128902
|
+
iframeRef.value.removeAttribute("src");
|
|
128903
|
+
iframeRef.value.srcdoc = normalizeHtmlDocument(html, baseUrl);
|
|
128799
128904
|
} catch (err) {
|
|
128800
|
-
console.error("[HtmlRender] write error:", err);
|
|
128801
128905
|
handleError2(err);
|
|
128802
128906
|
}
|
|
128803
128907
|
}
|
|
@@ -128808,11 +128912,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128808
128912
|
}
|
|
128809
128913
|
watch(() => props.source, (newSource, oldSource) => {
|
|
128810
128914
|
if (newSource !== oldSource) {
|
|
128811
|
-
|
|
128915
|
+
loadContent();
|
|
128812
128916
|
}
|
|
128813
128917
|
}, { immediate: false });
|
|
128814
128918
|
onMounted(() => {
|
|
128815
|
-
|
|
128919
|
+
loadContent();
|
|
128816
128920
|
});
|
|
128817
128921
|
return (_ctx, _cache) => {
|
|
128818
128922
|
return openBlock(), createElementBlock("div", {
|
|
@@ -128825,8 +128929,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128825
128929
|
ref: iframeRef,
|
|
128826
128930
|
class: "jv-html-iframe",
|
|
128827
128931
|
style: normalizeStyle(renderStyle.value),
|
|
128932
|
+
onLoad: handleIframeLoad,
|
|
128828
128933
|
sandbox: "allow-scripts allow-same-origin allow-popups allow-forms allow-top-navigation"
|
|
128829
|
-
}, null,
|
|
128934
|
+
}, null, 36),
|
|
128830
128935
|
withDirectives(createBaseVNode("div", _hoisted_1$3, [..._cache[0] || (_cache[0] = [
|
|
128831
128936
|
createBaseVNode("div", { class: "jv-loading-spinner" }, null, -1),
|
|
128832
128937
|
createBaseVNode("span", null, "加载中...", -1)
|
|
@@ -128840,7 +128945,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
128840
128945
|
};
|
|
128841
128946
|
}
|
|
128842
128947
|
});
|
|
128843
|
-
const HtmlRender = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
128948
|
+
const HtmlRender = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-be7a9198"]]);
|
|
128844
128949
|
const _hoisted_1$2 = {
|
|
128845
128950
|
key: 0,
|
|
128846
128951
|
class: "jv-image-loading"
|
|
@@ -129764,19 +129869,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129764
129869
|
config: toolbarConfig.value,
|
|
129765
129870
|
visible: toolbarVisible.value
|
|
129766
129871
|
}, null, 8, ["config", "visible"])) : createCommentVNode("", true),
|
|
129767
|
-
createBaseVNode("div", {
|
|
129768
|
-
class: "jv-viewer__branding",
|
|
129769
|
-
ref_key: "brandingRef",
|
|
129770
|
-
ref: brandingRef
|
|
129771
|
-
}, [..._cache[0] || (_cache[0] = [
|
|
129772
|
-
createBaseVNode("a", {
|
|
129773
|
-
href: "https://github.com/jitOffice/jit-viewer-sdk",
|
|
129774
|
-
target: "_blank",
|
|
129775
|
-
rel: "noopener noreferrer",
|
|
129776
|
-
class: "jv-branding-link"
|
|
129777
|
-
}, "JitViewer", -1),
|
|
129778
|
-
createTextVNode("提供文档预览支持 ", -1)
|
|
129779
|
-
])], 512),
|
|
129780
129872
|
createBaseVNode("div", {
|
|
129781
129873
|
ref_key: "contentRef",
|
|
129782
129874
|
ref: contentRef,
|
|
@@ -129788,7 +129880,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129788
129880
|
}, {
|
|
129789
129881
|
default: withCtx(() => [
|
|
129790
129882
|
unref(error) ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
129791
|
-
_cache[
|
|
129883
|
+
_cache[0] || (_cache[0] = createBaseVNode("svg", {
|
|
129792
129884
|
class: "jv-error-icon",
|
|
129793
129885
|
viewBox: "0 0 24 24",
|
|
129794
129886
|
fill: "none",
|
|
@@ -129822,7 +129914,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129822
129914
|
style: normalizeStyle(renderStyle.value)
|
|
129823
129915
|
}, [
|
|
129824
129916
|
withDirectives(createBaseVNode("div", _hoisted_5, [
|
|
129825
|
-
_cache[
|
|
129917
|
+
_cache[1] || (_cache[1] = createBaseVNode("div", { class: "jv-loading-spinner" }, null, -1)),
|
|
129826
129918
|
createBaseVNode("span", _hoisted_6, toDisplayString(unref(t)("loading")), 1)
|
|
129827
129919
|
], 512), [
|
|
129828
129920
|
[vShow, unref(loading)]
|
|
@@ -129895,7 +129987,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129895
129987
|
zoom: unref(zoom),
|
|
129896
129988
|
onLoad: handleLoad,
|
|
129897
129989
|
onError: handleError2
|
|
129898
|
-
}, null, 8, ["source", "zoom"])) : unref(fileType) === "unknown" && unref(fileSource) ? (openBlock(), createElementBlock("div", _hoisted_7, [..._cache[
|
|
129990
|
+
}, null, 8, ["source", "zoom"])) : unref(fileType) === "unknown" && unref(fileSource) ? (openBlock(), createElementBlock("div", _hoisted_7, [..._cache[2] || (_cache[2] = [
|
|
129899
129991
|
createBaseVNode("span", null, "未知文件类型", -1)
|
|
129900
129992
|
])])) : (openBlock(), createElementBlock("div", _hoisted_8, [
|
|
129901
129993
|
createBaseVNode("span", null, toDisplayString(unref(t)("error.unsupportedType")), 1)
|
|
@@ -129904,12 +129996,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
129904
129996
|
]),
|
|
129905
129997
|
_: 1
|
|
129906
129998
|
}, 8, ["watermark"])
|
|
129907
|
-
], 512)
|
|
129999
|
+
], 512),
|
|
130000
|
+
createBaseVNode("div", {
|
|
130001
|
+
ref_key: "brandingRef",
|
|
130002
|
+
ref: brandingRef,
|
|
130003
|
+
class: "jv-viewer__branding"
|
|
130004
|
+
}, [..._cache[3] || (_cache[3] = [
|
|
130005
|
+
createBaseVNode("a", {
|
|
130006
|
+
href: "https://github.com/jitOffice/jit-viewer-sdk",
|
|
130007
|
+
target: "_blank",
|
|
130008
|
+
rel: "noopener noreferrer",
|
|
130009
|
+
class: "jv-branding-link"
|
|
130010
|
+
}, "JitViewer", -1),
|
|
130011
|
+
createBaseVNode("span", { class: "jv-branding-text" }, "提供文档预览支持", -1)
|
|
130012
|
+
])], 512)
|
|
129908
130013
|
], 6);
|
|
129909
130014
|
};
|
|
129910
130015
|
}
|
|
129911
130016
|
});
|
|
129912
|
-
const Viewer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
130017
|
+
const Viewer = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4a7f7368"]]);
|
|
129913
130018
|
function createViewer(options) {
|
|
129914
130019
|
const events = createEventBus();
|
|
129915
130020
|
let app = null;
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}body{margin:0}.gray{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;align-content:end}.textLayer :is(span,br,div){color:transparent;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none}.textLayer::selection{background:#0000ff40;color:transparent;align-content:end}.selectNone::selection{background:#0000ff40;color:transparent}.highLighting{background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none}.selectHighLight{touch-action:none;margin:-1px;padding:1px;background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px}.selectHighLight::selection{background:#0000ff40;color:transparent}.pages-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.jv-toolbar-btn[data-v-9abd52f0]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:none;border-radius:var(--jv-radius);background:transparent;color:var(--jv-text-secondary);cursor:pointer;transition:all .2s ease}.jv-toolbar-btn[data-v-9abd52f0]:hover:not(:disabled){background:var(--jv-bg-secondary);color:var(--jv-text-primary)}.jv-toolbar-btn[data-v-9abd52f0]:active:not(:disabled){background:var(--jv-bg-tertiary)}.jv-toolbar-btn--disabled[data-v-9abd52f0],.jv-toolbar-btn[data-v-9abd52f0]:disabled{opacity:.5;cursor:not-allowed}.jv-toolbar-btn__icon[data-v-9abd52f0]{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.jv-toolbar-btn__icon svg[data-v-9abd52f0]{width:100%;height:100%}.jv-toolbar-btn__label[data-v-9abd52f0]{font-size:13px;font-weight:500}.jv-zoom-control[data-v-874ddbac]{display:flex;align-items:center;gap:4px}.jv-zoom-control__value[data-v-874ddbac]{min-width:50px;text-align:center;font-size:13px;font-weight:500;color:var(--jv-text-primary)}.jv-rotate-control[data-v-ad291658]{display:flex;align-items:center;gap:4px}.jv-pagination[data-v-97c0759f]{display:flex;align-items:center;gap:8px}.jv-pagination__info[data-v-97c0759f]{font-size:13px;color:var(--jv-text-secondary);min-width:100px;text-align:center}.jv-toolbar[data-v-74d3b30f]{display:flex;flex-direction:column;background:var(--jv-toolbar-bg);border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar--hidden[data-v-74d3b30f]{display:none}.jv-toolbar__top[data-v-74d3b30f],.jv-toolbar__bottom[data-v-74d3b30f]{display:flex;align-items:center;justify-content:space-between;height:var(--jv-toolbar-height);padding:0 16px}.jv-toolbar__top[data-v-74d3b30f]{border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar__left[data-v-74d3b30f],.jv-toolbar__right[data-v-74d3b30f],.jv-toolbar__center[data-v-74d3b30f]{display:flex;align-items:center;gap:8px}.jv-toolbar__filename[data-v-74d3b30f]{font-size:14px;font-weight:500;color:var(--jv-text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jv-toolbar--bottom .jv-toolbar__top[data-v-74d3b30f],.jv-toolbar--top .jv-toolbar__bottom[data-v-74d3b30f]{display:none}.jv-file-render--docx[data-v-9181c8b1]{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;padding:20px}.jv-file-render--docx[data-v-9181c8b1] .vue-office-docx{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--excel[data-v-a8c7c89f]{width:100%;height:100%;overflow:auto}.jv-file-render--pdf[data-v-32fed398]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pdf[data-v-32fed398] canvas{display:block;margin:10px auto;box-shadow:var(--jv-shadow)}.jv-pdf-iframe[data-v-32fed398]{width:100%;height:100%;display:block;border:none}.jv-file-render--pptx[data-v-b31abca4]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pptx[data-v-b31abca4] .pptx-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.jv-file-render--pptx[data-v-b31abca4] .pptx-slide{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--text[data-v-f5957104]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-text-content[data-v-f5957104]{margin:0;padding:20px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:var(--jv-text-primary);white-space:pre-wrap;word-wrap:break-word;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);min-height:100%}.jv-file-render--markdown[data-v-2d9fb509]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-markdown-content[data-v-2d9fb509]{max-width:800px;margin:0 auto;padding:30px;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);line-height:1.8;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1,.jv-markdown-content[data-v-2d9fb509] h2,.jv-markdown-content[data-v-2d9fb509] h3,.jv-markdown-content[data-v-2d9fb509] h4,.jv-markdown-content[data-v-2d9fb509] h5,.jv-markdown-content[data-v-2d9fb509] h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1{font-size:2em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h2{font-size:1.5em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h3{font-size:1.25em}.jv-markdown-content[data-v-2d9fb509] p{margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] code{padding:.2em .4em;background:var(--jv-bg-secondary);border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:85%}.jv-markdown-content[data-v-2d9fb509] pre{padding:16px;overflow:auto;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] pre code{padding:0;background:transparent}.jv-markdown-content[data-v-2d9fb509] ul,.jv-markdown-content[data-v-2d9fb509] ol{padding-left:2em;margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] li{margin-bottom:.25em}.jv-markdown-content[data-v-2d9fb509] blockquote{padding:0 1em;border-left:4px solid var(--jv-primary-color);margin-bottom:16px;color:var(--jv-text-secondary)}.jv-markdown-content[data-v-2d9fb509] a{color:var(--jv-primary-color);text-decoration:none}.jv-markdown-content[data-v-2d9fb509] a:hover{text-decoration:underline}.jv-markdown-content[data-v-2d9fb509] hr{border:none;border-top:1px solid var(--jv-border-color);margin:24px 0}.jv-markdown-content[data-v-2d9fb509] img{max-width:100%;height:auto;border-radius:var(--jv-radius)}.jv-markdown-content[data-v-2d9fb509] table{width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid var(--jv-border-color)}.jv-markdown-content[data-v-2d9fb509] th,.jv-markdown-content[data-v-2d9fb509] td{padding:12px 16px;border:1px solid var(--jv-border-color);text-align:left}.jv-markdown-content[data-v-2d9fb509] th{background:var(--jv-bg-secondary);font-weight:600;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] tr:nth-child(2n){background:var(--jv-bg-secondary)}.jv-markdown-content[data-v-2d9fb509] tr:hover{background:var(--jv-bg-hover, rgba(0, 0, 0, .05))}.jv-markdown-content[data-v-2d9fb509] del{text-decoration:line-through;color:var(--jv-text-secondary)}.jv-file-render--ofd[data-v-f933a20c]{width:100%;height:100%;position:relative;background:var(--jv-bg-secondary, #f5f5f5)}.jv-ofd-scroll[data-v-f933a20c]{width:100%;height:100%;overflow:auto;padding:20px 0}.jv-ofd-stage[data-v-f933a20c]{min-height:100%;display:flex;justify-content:center}.jv-ofd-container[data-v-f933a20c]{min-height:100%;display:flex;flex-direction:column;align-items:center}.jv-ofd-loading[data-v-f933a20c],.jv-ofd-error[data-v-f933a20c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--jv-text-secondary, #666);font-size:14px;background:#ffffffe0;z-index:1}.jv-ofd-error[data-v-f933a20c]{color:var(--jv-error, #f56c6c)}.jv-ofd-container[data-v-f933a20c] .page-container{margin:12px auto;box-shadow:0 2px 8px #0000001a;background:#fff}.jv-ofd-container[data-v-f933a20c] canvas{display:block}.jv-file-render--html[data-v-c52b0b01]{width:100%;height:100%;overflow:hidden;background:#fff;position:relative}.jv-html-iframe[data-v-c52b0b01]{width:100%;height:100%;border:none;display:block}.jv-html-loading[data-v-c52b0b01]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffe6;color:#666;font-size:14px}.jv-loading-spinner[data-v-c52b0b01]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1677ff;border-radius:50%;animation:jv-spin-c52b0b01 1s linear infinite}@keyframes jv-spin-c52b0b01{to{transform:rotate(360deg)}}.jv-html-error[data-v-c52b0b01]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;color:#ff4d4f;font-size:14px}.jv-file-render--image[data-v-40d06872]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--jv-bg-secondary);position:relative;overflow:hidden}.jv-image-loading[data-v-40d06872],.jv-image-error[data-v-40d06872]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary)}.jv-image-error svg[data-v-40d06872]{width:48px;height:48px;color:#ff4d4f}.jv-loading-spinner[data-v-40d06872]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-40d06872 1s linear infinite}@keyframes jv-spin-40d06872{to{transform:rotate(360deg)}}.jv-image-wrapper[data-v-40d06872]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jv-image-wrapper--dragging[data-v-40d06872]{-webkit-user-select:none;user-select:none}.jv-image[data-v-40d06872]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.jv-image-controls[data-v-40d06872]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:#000000b3;border-radius:8px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-controls[data-v-40d06872]{opacity:1}.jv-image-btn[data-v-40d06872]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s ease}.jv-image-btn[data-v-40d06872]:hover{background:#fff3}.jv-image-btn svg[data-v-40d06872]{width:18px;height:18px}.jv-image-info[data-v-40d06872]{position:absolute;top:12px;right:12px;padding:6px 12px;background:#0009;color:#fff;font-size:12px;border-radius:4px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-info[data-v-40d06872]{opacity:1}:fullscreen .jv-file-render--image[data-v-40d06872]{background:#000}.jv-watermark-container[data-v-3c7535d0]{position:relative;width:100%;height:100%;overflow:hidden}.jv-watermark-layer[data-v-3c7535d0]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;overflow:hidden}.jv-watermark-line[data-v-3c7535d0]{text-align:center;line-height:1.5}.jv-watermark-row[data-v-3c7535d0]{display:flex;gap:100px}.jv-watermark-image[data-v-3c7535d0]{opacity:.3}.jv-watermark--top[data-v-3c7535d0]{z-index:9999}.jv-viewer[data-v-05cf280f]{display:flex;flex-direction:column;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);overflow:hidden;box-shadow:var(--jv-shadow)}.jv-viewer--fullscreen[data-v-05cf280f]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;border-radius:0}.jv-viewer__content[data-v-05cf280f]{flex:1;overflow:hidden;position:relative}.jv-viewer__render[data-v-05cf280f]{width:100%;height:100%;transition:transform .3s ease;position:relative}.jv-viewer__loading-overlay[data-v-05cf280f]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary);background:var(--jv-bg-primary);z-index:10}.jv-viewer__loading[data-v-05cf280f],.jv-viewer__error[data-v-05cf280f],.jv-viewer__empty[data-v-05cf280f],.jv-viewer__unsupported[data-v-05cf280f]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--jv-text-secondary)}.jv-loading-spinner[data-v-05cf280f]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-05cf280f 1s linear infinite}@keyframes jv-spin-05cf280f{to{transform:rotate(360deg)}}.jv-loading-text[data-v-05cf280f],.jv-error-text[data-v-05cf280f],.jv-empty-text[data-v-05cf280f]{font-size:14px}.jv-error-icon[data-v-05cf280f]{width:48px;height:48px;color:#ff4d4f}.jv-viewer__branding[data-v-05cf280f]{padding:8px 16px;text-align:center;font-size:12px;color:var(--jv-text-secondary);background:var(--jv-bg-secondary);border-top:1px solid var(--jv-border-color)}.jv-branding-link[data-v-05cf280f]{color:var(--jv-primary-color);text-decoration:none;font-weight:500}.jv-branding-link[data-v-05cf280f]:hover{text-decoration:underline}
|
|
1
|
+
.vue-office-docx{height:100%;overflow-y:auto}.vue-office-docx .docx-wrapper>section.docx{margin-bottom:5px}@media screen and (max-width: 800px){.vue-office-docx .docx-wrapper{padding:10px}.vue-office-docx .docx-wrapper>section.docx{padding:10px!important;width:100%!important}}.x-spreadsheet{font-size:13px;line-height:normal;-webkit-user-select:none;user-select:none;-moz-user-select:none;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;box-sizing:content-box;background:#fff;-webkit-font-smoothing:antialiased}.x-spreadsheet textarea{font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif}.x-spreadsheet-sheet{position:relative;overflow:hidden}.x-spreadsheet-table{vertical-align:bottom}.x-spreadsheet-tooltip{font-family:inherit;position:absolute;padding:5px 10px;color:#fff;border-radius:1px;background:#000;font-size:12px;z-index:201}.x-spreadsheet-tooltip:before{pointer-events:none;position:absolute;left:calc(50% - 4px);top:-4px;content:"";width:8px;height:8px;background:inherit;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:1;box-shadow:1px 1px 3px -1px #0000004d}.x-spreadsheet-color-palette{padding:5px}.x-spreadsheet-color-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:2;background:#fff}.x-spreadsheet-color-palette table td{margin:0;cursor:pointer;border:1px solid transparent}.x-spreadsheet-color-palette table td:hover{border-color:#ddd}.x-spreadsheet-color-palette table td .x-spreadsheet-color-palette-cell{width:16px;height:16px}.x-spreadsheet-border-palette{padding:6px}.x-spreadsheet-border-palette table{margin:0;padding:0;border-collapse:separate;border-spacing:0;background:#fff;table-layout:fixed}.x-spreadsheet-border-palette table td{margin:0}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left{border-right:1px solid #eee;padding-right:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell{width:30px;height:30px;cursor:pointer;text-align:center}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-left .x-spreadsheet-border-palette-cell:hover{background-color:#eee}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right{padding-left:6px}.x-spreadsheet-border-palette .x-spreadsheet-border-palette-right .x-spreadsheet-line-type{position:relative;left:0;top:-3px}.x-spreadsheet-dropdown{position:relative}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-content{position:absolute;z-index:200;background:#fff;box-shadow:1px 2px 5px 2px #33333326}.x-spreadsheet-dropdown.bottom-left .x-spreadsheet-dropdown-content{top:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.bottom-right .x-spreadsheet-dropdown-content{top:calc(100% + 5px);right:0}.x-spreadsheet-dropdown.top-left .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);left:0}.x-spreadsheet-dropdown.top-right .x-spreadsheet-dropdown-content{bottom:calc(100% + 5px);right:0}.x-spreadsheet-dropdown .x-spreadsheet-dropdown-title{padding:0 5px;display:inline-block}.x-spreadsheet-resizer{position:absolute;z-index:11}.x-spreadsheet-resizer .x-spreadsheet-resizer-hover{background-color:#4b89ff40}.x-spreadsheet-resizer .x-spreadsheet-resizer-line{position:absolute}.x-spreadsheet-resizer.horizontal{cursor:row-resize}.x-spreadsheet-resizer.horizontal .x-spreadsheet-resizer-line{border-bottom:2px dashed #4b89ff;left:0;bottom:0}.x-spreadsheet-resizer.vertical{cursor:col-resize}.x-spreadsheet-resizer.vertical .x-spreadsheet-resizer-line{border-right:2px dashed #4b89ff;top:0;right:0}.x-spreadsheet-scrollbar{position:absolute;bottom:0;right:0;background-color:#f4f5f8;opacity:.9;z-index:12}.x-spreadsheet-scrollbar.horizontal{right:15px;overflow-x:scroll;overflow-y:hidden}.x-spreadsheet-scrollbar.horizontal>div{height:1px;background:#ddd}.x-spreadsheet-scrollbar.vertical{bottom:15px;overflow-x:hidden;overflow-y:scroll}.x-spreadsheet-scrollbar.vertical>div{width:1px;background:#ddd}.x-spreadsheet-overlayer{position:absolute;left:0;top:0;z-index:10}.x-spreadsheet-overlayer .x-spreadsheet-overlayer-content{position:absolute;overflow:hidden;pointer-events:none;width:100%;height:100%}.x-spreadsheet-editor,.x-spreadsheet-selector{box-sizing:content-box;position:absolute;overflow:hidden;pointer-events:none;top:0;left:0;width:100%;height:100%}.x-spreadsheet-selector .hide-input{position:absolute;z-index:0}.x-spreadsheet-selector .hide-input input{padding:0;width:0;border:none!important}.x-spreadsheet-selector .x-spreadsheet-selector-area{position:absolute;border:2px solid #4b89ff;background:#4b89ff1a;z-index:5}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard,.x-spreadsheet-selector .x-spreadsheet-selector-autofill{position:absolute;background:transparent;z-index:100}.x-spreadsheet-selector .x-spreadsheet-selector-clipboard{border:2px dashed #4b89ff}.x-spreadsheet-selector .x-spreadsheet-selector-autofill{border:1px dashed rgba(0,0,0,.45)}.x-spreadsheet-selector .x-spreadsheet-selector-corner{pointer-events:auto;position:absolute;cursor:crosshair;font-size:0;height:5px;width:5px;right:-5px;bottom:-5px;border:2px solid #ffffff;background:#4b89ff}.x-spreadsheet-editor{z-index:20}.x-spreadsheet-editor .x-spreadsheet-editor-area{position:absolute;text-align:left;border:2px solid #4b89ff;line-height:0;z-index:100;pointer-events:auto}.x-spreadsheet-editor .x-spreadsheet-editor-area textarea{box-sizing:content-box;border:none;padding:0 3px;outline:none;resize:none;text-align:start;overflow-y:hidden;font:400 13px Arial,Lato,Source Sans Pro,Roboto,Helvetica,sans-serif;color:inherit;white-space:normal;word-wrap:break-word;line-height:22px;margin:0}.x-spreadsheet-editor .x-spreadsheet-editor-area .textline{overflow:hidden;visibility:hidden;position:fixed;top:0;left:0}.x-spreadsheet-item{-webkit-user-select:none;user-select:none;background:0;border:1px solid transparent;outline:none;height:26px;color:#000000e6;line-height:26px;list-style:none;padding:2px 10px;cursor:default;text-align:left;overflow:hidden}.x-spreadsheet-item.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-item:hover,.x-spreadsheet-item.active{background:#0000000d}.x-spreadsheet-item.divider{height:0;padding:0;margin:5px 0;border:none;border-bottom:1px solid rgba(0,0,0,.1)}.x-spreadsheet-item .label{float:right;opacity:.65;font-size:1em}.x-spreadsheet-item.state,.x-spreadsheet-header.state{padding-left:35px!important;position:relative}.x-spreadsheet-item.state:before,.x-spreadsheet-header.state:before{content:"";position:absolute;width:10px;height:10px;left:12px;top:calc(50% - 5px);background:#00000014;border-radius:2px}.x-spreadsheet-item.state.checked:before,.x-spreadsheet-header.state.checked:before{background:#4b89ff}.x-spreadsheet-checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;font-size:1rem;line-height:1em}.x-spreadsheet-checkbox>input{position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:-1}.x-spreadsheet-suggest,.x-spreadsheet-contextmenu,.x-spreadsheet-sort-filter{position:absolute;box-shadow:1px 2px 5px 2px #33333326;background:#fff;z-index:100;width:260px;pointer-events:auto;overflow:auto}.x-spreadsheet-suggest{width:200px}.x-spreadsheet-filter{border:1px solid #e9e9e9;font-size:12px;margin:10px}.x-spreadsheet-filter .x-spreadsheet-header{padding:.5em .75em;background:#f8f8f9;border-bottom:1px solid #e9e9e9;border-left:1px solid transparent}.x-spreadsheet-filter .x-spreadsheet-body{height:200px;overflow-y:auto}.x-spreadsheet-filter .x-spreadsheet-body .x-spreadsheet-item{height:20px;line-height:20px}.x-spreadsheet-sort-filter .x-spreadsheet-buttons{margin:10px}.x-spreadsheet-bottombar{height:40px;padding:0 30px;text-align:left;background:#f5f6f7;display:flex}.x-spreadsheet-bottombar{position:relative;border-top:1px solid #e0e2e4}.x-spreadsheet-bottombar .x-spreadsheet-menu>li{line-height:40px;height:40px;padding-top:0;padding-bottom:0;vertical-align:middle;border-right:1px solid #e8eaed}.x-spreadsheet-menu{display:flex;overflow-x:auto;list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.x-spreadsheet-menu>li{float:left;line-height:1.25em;padding:.785em 1em;margin:0;vertical-align:middle;text-align:left;font-weight:400;color:#80868b;white-space:nowrap;cursor:pointer;transition:all .3s;font-weight:700}.x-spreadsheet-menu>li.active{background-color:#fff;color:#000000a6}.x-spreadsheet-menu>li .x-spreadsheet-dropdown{display:inline-block}.x-spreadsheet-print{position:absolute;left:0;top:0;z-index:100;width:100%;height:100%;display:flex;flex-direction:column}.x-spreadsheet-print-bar{background:#424242;height:60px;line-height:60px;padding:0 30px}.x-spreadsheet-print-bar .-title{color:#fff;font-weight:700;font-size:1.2em;float:left}.x-spreadsheet-print-bar .-right{float:right;margin-top:12px}.x-spreadsheet-print-content{display:flex;flex:auto;flex-direction:row;background:#d0d0d0;height:calc(100% - 60px)}.x-spreadsheet-print-content .-sider{flex:0 0 300px;width:300px;border-left:2px solid #ccc;background:#fff}.x-spreadsheet-print-content .-content{flex:auto;overflow-x:auto;overflow-y:scroll;height:100%}.x-spreadsheet-canvas-card-wraper{margin:40px 20px}.x-spreadsheet-canvas-card{background:#fff;margin:auto;page-break-before:auto;page-break-after:always;box-shadow:0 8px 10px 1px #00000024,0 3px 14px 3px #0000001f,0 4px 5px #0003}.x-spreadsheet-calendar{color:#000000a6;background:#fff;-webkit-user-select:none;user-select:none}.x-spreadsheet-calendar .calendar-header{font-weight:700;line-height:30px;text-align:center;width:100%;float:left;background:#f9fafb}.x-spreadsheet-calendar .calendar-header .calendar-header-left{padding-left:5px;float:left}.x-spreadsheet-calendar .calendar-header .calendar-header-right{float:right}.x-spreadsheet-calendar .calendar-header .calendar-header-right a{padding:3px 0;margin-right:2px;border-radius:2px}.x-spreadsheet-calendar .calendar-header .calendar-header-right a:hover{background:#00000014}.x-spreadsheet-calendar .calendar-body{border-collapse:collapse;border-spacing:0}.x-spreadsheet-calendar .calendar-body th,.x-spreadsheet-calendar .calendar-body td{width:14.28571429%;min-width:32px;text-align:center;font-weight:700;line-height:30px;padding:0}.x-spreadsheet-calendar .calendar-body td>.cell:hover{background:#ecf6fd}.x-spreadsheet-calendar .calendar-body td>.cell.active,.x-spreadsheet-calendar .calendar-body td>.cell.active:hover{background:#ecf6fd;color:#2185d0}.x-spreadsheet-calendar .calendar-body td>.cell.disabled{pointer-events:none;opacity:.5}.x-spreadsheet-datepicker{box-shadow:2px 2px 5px #0003;position:absolute;left:0;top:calc(100% + 5px);z-index:10;width:auto}.x-spreadsheet-buttons{display:flex;justify-content:flex-end}.x-spreadsheet-buttons .x-spreadsheet-button{margin-left:8px}.x-spreadsheet-button{display:inline-block;border-radius:3px;line-height:1em;min-height:1em;white-space:nowrap;text-align:center;cursor:pointer;font-size:1em;font-weight:700;padding:.75em 1em;color:#0009;background:#e0e1e2;text-decoration:none;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;outline:none;vertical-align:baseline;zoom:1;-webkit-user-select:none;user-select:none;transition:all .1s linear}.x-spreadsheet-button.active,.x-spreadsheet-button:hover{background-color:#c0c1c2;color:#000c}.x-spreadsheet-button.primary{color:#fff;background-color:#2185d0}.x-spreadsheet-button.primary:hover,.x-spreadsheet-button.primary.active{color:#fff;background-color:#1678c2}.x-spreadsheet-form-input{font-size:1em;position:relative;font-weight:400;display:inline-flex;color:#000000de}.x-spreadsheet-form-input input{z-index:1;margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:30px;height:30px;padding:0 8px;background:#fff;border:1px solid #e9e9e9;border-radius:3px;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-input input:focus{border-color:#4b89ff;box-shadow:inset 0 1px 2px #4b89ff33}.x-spreadsheet-form-select{position:relative;display:inline-block;background:#fff;border:1px solid #e9e9e9;border-radius:2px;cursor:pointer;color:#000000de;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px 2px #0a0a0a0f}.x-spreadsheet-form-select .input-text{text-overflow:ellipsis;white-space:nowrap;min-width:60px;width:auto;height:30px;line-height:30px;padding:0 8px}.x-spreadsheet-form-fields{display:flex;flex-direction:row;flex-wrap:wrap}.x-spreadsheet-form-fields .x-spreadsheet-form-field{flex:0 1 auto}.x-spreadsheet-form-fields .x-spreadsheet-form-field .label{display:inline-block;margin:0 10px 0 0}.x-spreadsheet-form-field{display:block;vertical-align:middle;margin-left:10px;margin-bottom:10px}.x-spreadsheet-form-field:first-child{margin-left:0}.x-spreadsheet-form-field.error .x-spreadsheet-form-select,.x-spreadsheet-form-field.error input{border-color:#f04134}.x-spreadsheet-form-field .tip{color:#f04134;font-size:.9em}.x-spreadsheet-dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:#0009;opacity:0;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;transition:background-color .5s linear;-webkit-user-select:none;user-select:none;z-index:1000}.x-spreadsheet-dimmer.active{display:block;opacity:1}form fieldset{border:none}form fieldset label{display:block;margin-bottom:.5em;font-size:1em;color:#666}form fieldset select{font-size:1.1em;width:100%;background-color:#fff;border:none;border-bottom:2px solid #ddd;padding:.5em .85em;border-radius:2px}.x-spreadsheet-modal,.x-spreadsheet-toast{font-size:13px;position:fixed;z-index:1001;text-align:left;line-height:1.25em;min-width:360px;color:#000000de;font-family:Lato,Source Sans Pro,Roboto,Helvetica,Arial,sans-serif;border-radius:4px;border:1px solid rgba(0,0,0,.1);background-color:#fff;background-clip:padding-box;box-shadow:#0003 0 2px 8px}.x-spreadsheet-toast{background-color:#ffffffd9}.x-spreadsheet-modal-header,.x-spreadsheet-toast-header{font-weight:600;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid rgba(0,0,0,.05);border-radius:4px 4px 0 0}.x-spreadsheet-toast-header{color:#f2711c}.x-spreadsheet-modal-header{border-bottom:1px solid #e0e2e4;background:#00000014;font-size:1.0785em}.x-spreadsheet-modal-header,.x-spreadsheet-modal-content,.x-spreadsheet-toast-header,.x-spreadsheet-toast-content{padding:.75em 1em}.x-spreadsheet-menu li:first-child{display:none}.vue-office-excel{height:100%}body{margin:0}.gray{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:1;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;align-content:end}.textLayer :is(span,br,div){color:transparent;white-space:pre;cursor:text;transform-origin:0 0}.textLayer .highlight{--highlight-bg-color: rgb(180 0 170 / .25);--highlight-selected-bg-color: rgb(0 100 0 / .25);--highlight-backdrop-filter: none;--highlight-selected-backdrop-filter: none}.textLayer::selection{background:#0000ff40;color:transparent;align-content:end}.selectNone::selection{background:#0000ff40;color:transparent}.highLighting{background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none}.selectHighLight{touch-action:none;margin:-1px;padding:1px;background-color:#00640040;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:4px}.selectHighLight::selection{background:#0000ff40;color:transparent}.pages-container{display:flex;flex-direction:column;justify-content:center;align-items:center}.jv-toolbar-btn[data-v-9abd52f0]{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border:none;border-radius:var(--jv-radius);background:transparent;color:var(--jv-text-secondary);cursor:pointer;transition:all .2s ease}.jv-toolbar-btn[data-v-9abd52f0]:hover:not(:disabled){background:var(--jv-bg-secondary);color:var(--jv-text-primary)}.jv-toolbar-btn[data-v-9abd52f0]:active:not(:disabled){background:var(--jv-bg-tertiary)}.jv-toolbar-btn--disabled[data-v-9abd52f0],.jv-toolbar-btn[data-v-9abd52f0]:disabled{opacity:.5;cursor:not-allowed}.jv-toolbar-btn__icon[data-v-9abd52f0]{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.jv-toolbar-btn__icon svg[data-v-9abd52f0]{width:100%;height:100%}.jv-toolbar-btn__label[data-v-9abd52f0]{font-size:13px;font-weight:500}.jv-zoom-control[data-v-874ddbac]{display:flex;align-items:center;gap:4px}.jv-zoom-control__value[data-v-874ddbac]{min-width:50px;text-align:center;font-size:13px;font-weight:500;color:var(--jv-text-primary)}.jv-rotate-control[data-v-ad291658]{display:flex;align-items:center;gap:4px}.jv-pagination[data-v-97c0759f]{display:flex;align-items:center;gap:8px}.jv-pagination__info[data-v-97c0759f]{font-size:13px;color:var(--jv-text-secondary);min-width:100px;text-align:center}.jv-toolbar[data-v-74d3b30f]{display:flex;flex-direction:column;background:var(--jv-toolbar-bg);border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar--hidden[data-v-74d3b30f]{display:none}.jv-toolbar__top[data-v-74d3b30f],.jv-toolbar__bottom[data-v-74d3b30f]{display:flex;align-items:center;justify-content:space-between;height:var(--jv-toolbar-height);padding:0 16px}.jv-toolbar__top[data-v-74d3b30f]{border-bottom:1px solid var(--jv-toolbar-border)}.jv-toolbar__left[data-v-74d3b30f],.jv-toolbar__right[data-v-74d3b30f],.jv-toolbar__center[data-v-74d3b30f]{display:flex;align-items:center;gap:8px}.jv-toolbar__filename[data-v-74d3b30f]{font-size:14px;font-weight:500;color:var(--jv-text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jv-toolbar--bottom .jv-toolbar__top[data-v-74d3b30f],.jv-toolbar--top .jv-toolbar__bottom[data-v-74d3b30f]{display:none}.jv-file-render--docx[data-v-9181c8b1]{width:100%;height:100%;overflow:auto;display:flex;justify-content:center;padding:20px}.jv-file-render--docx[data-v-9181c8b1] .vue-office-docx{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--excel[data-v-a8c7c89f]{width:100%;height:100%;overflow:auto}.jv-file-render--pdf[data-v-32fed398]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pdf[data-v-32fed398] canvas{display:block;margin:10px auto;box-shadow:var(--jv-shadow)}.jv-pdf-iframe[data-v-32fed398]{width:100%;height:100%;display:block;border:none}.jv-file-render--pptx[data-v-b31abca4]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-secondary)}.jv-file-render--pptx[data-v-b31abca4] .pptx-wrapper{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.jv-file-render--pptx[data-v-b31abca4] .pptx-slide{background:#fff;box-shadow:var(--jv-shadow)}.jv-file-render--text[data-v-f5957104]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-text-content[data-v-f5957104]{margin:0;padding:20px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.6;color:var(--jv-text-primary);white-space:pre-wrap;word-wrap:break-word;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);min-height:100%}.jv-file-render--markdown[data-v-2d9fb509]{width:100%;height:100%;overflow:auto;background:var(--jv-bg-primary);padding:20px}.jv-markdown-content[data-v-2d9fb509]{max-width:800px;margin:0 auto;padding:30px;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);line-height:1.8;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1,.jv-markdown-content[data-v-2d9fb509] h2,.jv-markdown-content[data-v-2d9fb509] h3,.jv-markdown-content[data-v-2d9fb509] h4,.jv-markdown-content[data-v-2d9fb509] h5,.jv-markdown-content[data-v-2d9fb509] h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] h1{font-size:2em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h2{font-size:1.5em;border-bottom:1px solid var(--jv-border-color);padding-bottom:.3em}.jv-markdown-content[data-v-2d9fb509] h3{font-size:1.25em}.jv-markdown-content[data-v-2d9fb509] p{margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] code{padding:.2em .4em;background:var(--jv-bg-secondary);border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:85%}.jv-markdown-content[data-v-2d9fb509] pre{padding:16px;overflow:auto;background:var(--jv-bg-secondary);border-radius:var(--jv-radius);margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] pre code{padding:0;background:transparent}.jv-markdown-content[data-v-2d9fb509] ul,.jv-markdown-content[data-v-2d9fb509] ol{padding-left:2em;margin-bottom:16px}.jv-markdown-content[data-v-2d9fb509] li{margin-bottom:.25em}.jv-markdown-content[data-v-2d9fb509] blockquote{padding:0 1em;border-left:4px solid var(--jv-primary-color);margin-bottom:16px;color:var(--jv-text-secondary)}.jv-markdown-content[data-v-2d9fb509] a{color:var(--jv-primary-color);text-decoration:none}.jv-markdown-content[data-v-2d9fb509] a:hover{text-decoration:underline}.jv-markdown-content[data-v-2d9fb509] hr{border:none;border-top:1px solid var(--jv-border-color);margin:24px 0}.jv-markdown-content[data-v-2d9fb509] img{max-width:100%;height:auto;border-radius:var(--jv-radius)}.jv-markdown-content[data-v-2d9fb509] table{width:100%;border-collapse:collapse;margin-bottom:16px;border:1px solid var(--jv-border-color)}.jv-markdown-content[data-v-2d9fb509] th,.jv-markdown-content[data-v-2d9fb509] td{padding:12px 16px;border:1px solid var(--jv-border-color);text-align:left}.jv-markdown-content[data-v-2d9fb509] th{background:var(--jv-bg-secondary);font-weight:600;color:var(--jv-text-primary)}.jv-markdown-content[data-v-2d9fb509] tr:nth-child(2n){background:var(--jv-bg-secondary)}.jv-markdown-content[data-v-2d9fb509] tr:hover{background:var(--jv-bg-hover, rgba(0, 0, 0, .05))}.jv-markdown-content[data-v-2d9fb509] del{text-decoration:line-through;color:var(--jv-text-secondary)}.jv-file-render--ofd[data-v-f933a20c]{width:100%;height:100%;position:relative;background:var(--jv-bg-secondary, #f5f5f5)}.jv-ofd-scroll[data-v-f933a20c]{width:100%;height:100%;overflow:auto;padding:20px 0}.jv-ofd-stage[data-v-f933a20c]{min-height:100%;display:flex;justify-content:center}.jv-ofd-container[data-v-f933a20c]{min-height:100%;display:flex;flex-direction:column;align-items:center}.jv-ofd-loading[data-v-f933a20c],.jv-ofd-error[data-v-f933a20c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--jv-text-secondary, #666);font-size:14px;background:#ffffffe0;z-index:1}.jv-ofd-error[data-v-f933a20c]{color:var(--jv-error, #f56c6c)}.jv-ofd-container[data-v-f933a20c] .page-container{margin:12px auto;box-shadow:0 2px 8px #0000001a;background:#fff}.jv-ofd-container[data-v-f933a20c] canvas{display:block}.jv-file-render--html[data-v-be7a9198]{width:100%;height:100%;overflow:hidden;background:linear-gradient(180deg,#f8fbfd,#eef3f7);position:relative}.jv-html-iframe[data-v-be7a9198]{width:100%;height:100%;border:none;display:block;background:#fff}.jv-html-loading[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#ffffffe6;color:#666;font-size:14px}.jv-loading-spinner[data-v-be7a9198]{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:#1677ff;border-radius:50%;animation:jv-spin-be7a9198 1s linear infinite}@keyframes jv-spin-be7a9198{to{transform:rotate(360deg)}}.jv-html-error[data-v-be7a9198]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;color:#ff4d4f;font-size:14px}.jv-file-render--image[data-v-40d06872]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--jv-bg-secondary);position:relative;overflow:hidden}.jv-image-loading[data-v-40d06872],.jv-image-error[data-v-40d06872]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary)}.jv-image-error svg[data-v-40d06872]{width:48px;height:48px;color:#ff4d4f}.jv-loading-spinner[data-v-40d06872]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-40d06872 1s linear infinite}@keyframes jv-spin-40d06872{to{transform:rotate(360deg)}}.jv-image-wrapper[data-v-40d06872]{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jv-image-wrapper--dragging[data-v-40d06872]{-webkit-user-select:none;user-select:none}.jv-image[data-v-40d06872]{max-width:100%;max-height:100%;object-fit:contain;will-change:transform}.jv-image-controls[data-v-40d06872]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:8px;padding:8px 12px;background:#000000b3;border-radius:8px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-controls[data-v-40d06872]{opacity:1}.jv-image-btn[data-v-40d06872]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background .2s ease}.jv-image-btn[data-v-40d06872]:hover{background:#fff3}.jv-image-btn svg[data-v-40d06872]{width:18px;height:18px}.jv-image-info[data-v-40d06872]{position:absolute;top:12px;right:12px;padding:6px 12px;background:#0009;color:#fff;font-size:12px;border-radius:4px;opacity:0;transition:opacity .3s ease}.jv-file-render--image:hover .jv-image-info[data-v-40d06872]{opacity:1}:fullscreen .jv-file-render--image[data-v-40d06872]{background:#000}.jv-watermark-container[data-v-3c7535d0]{position:relative;width:100%;height:100%;overflow:hidden}.jv-watermark-layer[data-v-3c7535d0]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:50px;overflow:hidden}.jv-watermark-line[data-v-3c7535d0]{text-align:center;line-height:1.5}.jv-watermark-row[data-v-3c7535d0]{display:flex;gap:100px}.jv-watermark-image[data-v-3c7535d0]{opacity:.3}.jv-watermark--top[data-v-3c7535d0]{z-index:9999}.jv-viewer[data-v-4a7f7368]{display:flex;flex-direction:column;background:var(--jv-bg-primary);border-radius:var(--jv-radius-lg);overflow:hidden;box-shadow:var(--jv-shadow)}.jv-viewer--fullscreen[data-v-4a7f7368]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;border-radius:0}.jv-viewer__content[data-v-4a7f7368]{flex:1;min-height:0;overflow:hidden;position:relative}.jv-viewer__render[data-v-4a7f7368]{width:100%;height:100%;transition:transform .3s ease;position:relative}.jv-viewer__loading-overlay[data-v-4a7f7368]{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--jv-text-secondary);background:var(--jv-bg-primary);z-index:10}.jv-viewer__loading[data-v-4a7f7368],.jv-viewer__error[data-v-4a7f7368],.jv-viewer__empty[data-v-4a7f7368],.jv-viewer__unsupported[data-v-4a7f7368]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--jv-text-secondary)}.jv-loading-spinner[data-v-4a7f7368]{width:40px;height:40px;border:3px solid var(--jv-border-color);border-top-color:var(--jv-primary-color);border-radius:50%;animation:jv-spin-4a7f7368 1s linear infinite}@keyframes jv-spin-4a7f7368{to{transform:rotate(360deg)}}.jv-loading-text[data-v-4a7f7368],.jv-error-text[data-v-4a7f7368],.jv-empty-text[data-v-4a7f7368]{font-size:14px}.jv-error-icon[data-v-4a7f7368]{width:48px;height:48px;color:#ff4d4f}.jv-viewer__branding[data-v-4a7f7368]{flex-shrink:0;padding:8px 16px;text-align:center;font-size:12px;color:var(--jv-text-secondary);background:var(--jv-bg-secondary);border-top:1px solid var(--jv-border-color);display:flex;align-items:center;justify-content:center;gap:4px}.jv-branding-link[data-v-4a7f7368]{color:var(--jv-primary-color);text-decoration:none;font-weight:500}.jv-branding-text[data-v-4a7f7368]{color:var(--jv-text-secondary)}.jv-branding-link[data-v-4a7f7368]:hover{text-decoration:underline}
|