@datawhale/prosemirror-render 0.0.12 → 0.0.14

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.
Files changed (55) hide show
  1. package/dist/{AttachmentBlock-CPpG2dPv.js → AttachmentBlock-ByHtTWuI.js} +2 -2
  2. package/dist/{AttachmentBlock-BXCk0hjn.cjs → AttachmentBlock-tnlBhmh1.cjs} +1 -1
  3. package/dist/{AttachmentInline-Bmi7A-PO.cjs → AttachmentInline-B1iq2ZzJ.cjs} +1 -1
  4. package/dist/{AttachmentInline-DeqcVAAu.js → AttachmentInline-CVcQynCS.js} +2 -2
  5. package/dist/{AttachmentMenu-CqB_XZH_.cjs → AttachmentMenu-BFzuLVvs.cjs} +1 -1
  6. package/dist/{AttachmentMenu-BlYR8886.js → AttachmentMenu-oBI7t5eW.js} +1 -1
  7. package/dist/{Callout-A58rxjcd.js → Callout-CAAjU4gc.js} +1 -1
  8. package/dist/{Callout-D4hGVBL_.cjs → Callout-CZlxGY4m.cjs} +1 -1
  9. package/dist/{CellOutput-CgpD9ZVf.cjs → CellOutput-B0B-15G4.cjs} +1 -1
  10. package/dist/{CellOutput-DDtmytFi.js → CellOutput-CSND51qF.js} +1 -1
  11. package/dist/{CodeBlock-DYTo0bg9.cjs → CodeBlock-C-HQYt0D.cjs} +1 -1
  12. package/dist/{CodeBlock-DzHugjpL.js → CodeBlock-esh4GRUm.js} +1 -1
  13. package/dist/{FoldBlock-DuHOT0cm.cjs → FoldBlock-DPjAMxNU.cjs} +1 -1
  14. package/dist/{FoldBlock-CJ3VZP86.js → FoldBlock-GqZ4Q6gf.js} +1 -1
  15. package/dist/{Grid-wjd8RU78.cjs → Grid-CWblUZA1.cjs} +1 -1
  16. package/dist/{Grid-CQMBfo8m.js → Grid-DgWoulAe.js} +1 -1
  17. package/dist/{IFrame-thNWtKGt.js → IFrame-BZYrBDpx.js} +1 -1
  18. package/dist/{IFrame-CuNyVByE.cjs → IFrame-Ch4uHCg5.cjs} +1 -1
  19. package/dist/{Image-BpCN7g0S.js → Image-BGDBIQBQ.js} +32 -33
  20. package/dist/Image-DO6aHhWw.cjs +1 -0
  21. package/dist/{MathDisplay-BXmKwa-7.js → MathDisplay-C0EWPqfF.js} +1 -1
  22. package/dist/{MathDisplay-Bk51oHnp.cjs → MathDisplay-C9wXYcrr.cjs} +1 -1
  23. package/dist/{MathInline-BT1QFQpO.js → MathInline-BnR24HSK.js} +1 -1
  24. package/dist/{MathInline-rUQCNe0b.cjs → MathInline-CRd3OFdA.cjs} +1 -1
  25. package/dist/{McChoices-D8svqhmT.cjs → McChoices-BRXKs2zr.cjs} +1 -1
  26. package/dist/{McChoices-CXvkhpsm.js → McChoices-C5FkOVA3.js} +1 -1
  27. package/dist/{McQuestion-BPDceSgZ.js → McQuestion-Ctvd6D_8.js} +1 -1
  28. package/dist/{McQuestion-uwFwxlQo.cjs → McQuestion-DZnm3GYh.cjs} +1 -1
  29. package/dist/{McSolution-BveHl5G0.js → McSolution-CIp9mRqD.js} +1 -1
  30. package/dist/{McSolution-DB6fl73p.cjs → McSolution-Ddp2JqTg.cjs} +1 -1
  31. package/dist/{MultipleChoice-DNKuX9FK.js → MultipleChoice-BLWPtgSX.js} +4 -4
  32. package/dist/{MultipleChoice-DgTOWVtn.cjs → MultipleChoice-Dn1ewqwh.cjs} +1 -1
  33. package/dist/{Paragraph-BsBVTwg-.cjs → Paragraph-D9tNHRR2.cjs} +1 -1
  34. package/dist/{Paragraph-NxCCIiIf.js → Paragraph-WPKhTw9U.js} +1 -1
  35. package/dist/{SlotNode-QH4h4XFh.cjs → SlotNode-CuhFzL_Q.cjs} +1 -1
  36. package/dist/{SlotNode-DiKoiDD2.js → SlotNode-mfYYyUtZ.js} +1 -1
  37. package/dist/{Text-Buwy2OVC.cjs → Text-CO8w66wD.cjs} +1 -1
  38. package/dist/{Text-D1jF9H18.js → Text-Cs5aiGbS.js} +1 -1
  39. package/dist/VideoPlayer-BEvuUlWw.cjs +1 -0
  40. package/dist/VideoPlayer-CN37442r.js +33 -0
  41. package/dist/index-C3GRUUlT.cjs +1 -0
  42. package/dist/index-Dnk-53ct.js +217 -0
  43. package/dist/index.cjs.js +1 -1
  44. package/dist/index.es.js +4 -3
  45. package/dist/prosemirror-render.css +1 -1
  46. package/dist/types/components/MediaRender.vue.d.ts +9 -0
  47. package/dist/types/components/collections/file/VideoPlayer.vue.d.ts +7 -0
  48. package/dist/types/components/collections/file/index.d.ts +1 -0
  49. package/dist/types/components/collections/utils.d.ts +11 -1
  50. package/dist/types/index.d.ts +2 -1
  51. package/dist/types/types.d.ts +10 -0
  52. package/package.json +1 -1
  53. package/dist/Image-D6kgI-oO.cjs +0 -1
  54. package/dist/index-ByaYOIDK.cjs +0 -1
  55. package/dist/index-D5y1u4eT.js +0 -186
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as p, ref as n, createElementBlock as r, openBlock as c, createVNode as u, createCommentVNode as a, createBlock as v, createElementVNode as b } from "vue";
2
- import _ from "./McChoices-CXvkhpsm.js";
3
- import C from "./McQuestion-BPDceSgZ.js";
4
- import h from "./McSolution-BveHl5G0.js";
5
- import { _ as k } from "./index-D5y1u4eT.js";
2
+ import _ from "./McChoices-C5FkOVA3.js";
3
+ import C from "./McQuestion-Ctvd6D_8.js";
4
+ import h from "./McSolution-CIp9mRqD.js";
5
+ import { _ as k } from "./index-Dnk-53ct.js";
6
6
  const x = { class: "multiple-choice" }, M = {
7
7
  key: 0,
8
8
  class: "submit-area"
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./McChoices-D8svqhmT.cjs"),i=require("./McQuestion-uwFwxlQo.cjs"),m=require("./McSolution-DB6fl73p.cjs"),v=require("./index-ByaYOIDK.cjs"),f={class:"multiple-choice"},b={key:0,class:"submit-area"},p=["disabled"],k=e.defineComponent({__name:"MultipleChoice",props:{node:{}},setup(t){const u=t,o=e.ref(null),n=e.ref(!1),c=e.ref(!1),d=()=>{n.value=!0;const l=u.node.content[1].attrs.correctIndex;c.value=o.value===l};return(l,s)=>(e.openBlock(),e.createElementBlock("div",f,[e.createVNode(i.default,{node:t.node.content[0]},null,8,["node"]),e.createVNode(a.default,{selected:o.value,"onUpdate:selected":s[0]||(s[0]=r=>o.value=r),node:t.node.content[1],submitted:n.value},null,8,["selected","node","submitted"]),n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",b,[e.createElementVNode("button",{class:"submit-button",disabled:o.value===null,onClick:d},"提交答案",8,p)])),n.value?(e.openBlock(),e.createBlock(m.default,{key:1,node:t.node.content[2],correct:c.value},null,8,["node","correct"])):e.createCommentVNode("",!0)]))}}),C=v._export_sfc(k,[["__scopeId","data-v-7715f66b"]]);exports.default=C;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./McChoices-BRXKs2zr.cjs"),i=require("./McQuestion-DZnm3GYh.cjs"),m=require("./McSolution-Ddp2JqTg.cjs"),v=require("./index-C3GRUUlT.cjs"),f={class:"multiple-choice"},b={key:0,class:"submit-area"},p=["disabled"],k=e.defineComponent({__name:"MultipleChoice",props:{node:{}},setup(t){const u=t,o=e.ref(null),n=e.ref(!1),c=e.ref(!1),d=()=>{n.value=!0;const l=u.node.content[1].attrs.correctIndex;c.value=o.value===l};return(l,s)=>(e.openBlock(),e.createElementBlock("div",f,[e.createVNode(i.default,{node:t.node.content[0]},null,8,["node"]),e.createVNode(a.default,{selected:o.value,"onUpdate:selected":s[0]||(s[0]=r=>o.value=r),node:t.node.content[1],submitted:n.value},null,8,["selected","node","submitted"]),n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",b,[e.createElementVNode("button",{class:"submit-button",disabled:o.value===null,onClick:d},"提交答案",8,p)])),n.value?(e.openBlock(),e.createBlock(m.default,{key:1,node:t.node.content[2],correct:c.value},null,8,["node","correct"])):e.createCommentVNode("",!0)]))}}),C=v._export_sfc(k,[["__scopeId","data-v-7715f66b"]]);exports.default=C;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("./index-ByaYOIDK.cjs"),o={class:"paragraph"},a=e.defineComponent({__name:"Paragraph",props:{node:{}},setup(s){return(r,c)=>(e.openBlock(),e.createElementBlock("p",o,[e.renderSlot(r.$slots,"default",{},void 0,!0)]))}}),n=t._export_sfc(a,[["__scopeId","data-v-550653ec"]]);exports.default=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("./index-C3GRUUlT.cjs"),o={class:"paragraph"},a=e.defineComponent({__name:"Paragraph",props:{node:{}},setup(s){return(r,c)=>(e.openBlock(),e.createElementBlock("p",o,[e.renderSlot(r.$slots,"default",{},void 0,!0)]))}}),n=t._export_sfc(a,[["__scopeId","data-v-550653ec"]]);exports.default=n;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o, createElementBlock as r, openBlock as a, renderSlot as t } from "vue";
2
- import { _ as p } from "./index-D5y1u4eT.js";
2
+ import { _ as p } from "./index-Dnk-53ct.js";
3
3
  const s = { class: "paragraph" }, n = /* @__PURE__ */ o({
4
4
  __name: "Paragraph",
5
5
  props: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("./index-ByaYOIDK.cjs"),n={};function o(e,s){return t.renderSlot(e.$slots,"default")}const c=r._export_sfc(n,[["render",o]]);exports.default=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("./index-C3GRUUlT.cjs"),n={};function o(e,s){return t.renderSlot(e.$slots,"default")}const c=r._export_sfc(n,[["render",o]]);exports.default=c;
@@ -1,5 +1,5 @@
1
1
  import { renderSlot as e } from "vue";
2
- import { _ as o } from "./index-D5y1u4eT.js";
2
+ import { _ as o } from "./index-Dnk-53ct.js";
3
3
  const t = {};
4
4
  function n(r, s) {
5
5
  return e(r.$slots, "default");
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./SlotNode-QH4h4XFh.cjs"),u=e.defineComponent({__name:"Text",props:{node:{}},setup(t){const l=e.computed(()=>t.node.marks?.[0]),n=e.computed(()=>l.value?.type),o=e.computed(()=>r[l.value?.type]),r={bold:"strong",italic:"em",underline:"u",strike:"s",highlight:"mark",textStyle:"span",link:"a",code:"code"};return(s,d)=>{const a=e.resolveComponent("Text",!0);return t.node.marks?.length&&n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.value==="link"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,target:l.value.attrs?.href,href:l.value.attrs?.href,class:e.normalizeClass(l.value.attrs?.class),rel:l.value.attrs?.rel},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["target","href","class","rel"])):n.value==="highlight"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:1,style:e.normalizeStyle({...l.value.attrs,color:null,"background-color":l.value.attrs.color})},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["style"])):n.value==="textStyle"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:2,style:e.normalizeStyle(l.value.attrs??null)},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["style"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:3},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1}))],64)):(e.openBlock(),e.createBlock(c.default,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.node.text),1)]),_:1}))}}});exports.default=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./SlotNode-CuhFzL_Q.cjs"),u=e.defineComponent({__name:"Text",props:{node:{}},setup(t){const l=e.computed(()=>t.node.marks?.[0]),n=e.computed(()=>l.value?.type),o=e.computed(()=>r[l.value?.type]),r={bold:"strong",italic:"em",underline:"u",strike:"s",highlight:"mark",textStyle:"span",link:"a",code:"code"};return(s,d)=>{const a=e.resolveComponent("Text",!0);return t.node.marks?.length&&n.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n.value==="link"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:0,target:l.value.attrs?.href,href:l.value.attrs?.href,class:e.normalizeClass(l.value.attrs?.class),rel:l.value.attrs?.rel},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["target","href","class","rel"])):n.value==="highlight"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:1,style:e.normalizeStyle({...l.value.attrs,color:null,"background-color":l.value.attrs.color})},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["style"])):n.value==="textStyle"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:2,style:e.normalizeStyle(l.value.attrs??null)},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1},8,["style"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{key:3},{default:e.withCtx(()=>[e.createVNode(a,{node:{...t.node,marks:t.node.marks?.slice(1)}},null,8,["node"])]),_:1}))],64)):(e.openBlock(),e.createBlock(c.default,{key:1},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.node.text),1)]),_:1}))}}});exports.default=u;
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as i, computed as d, resolveComponent as y, createElementBlock as v, createBlock as a, openBlock as l, Fragment as f, resolveDynamicComponent as s, normalizeClass as h, withCtx as n, createVNode as c, normalizeStyle as m, createTextVNode as g, toDisplayString as x } from "vue";
2
- import T from "./SlotNode-DiKoiDD2.js";
2
+ import T from "./SlotNode-mfYYyUtZ.js";
3
3
  const N = /* @__PURE__ */ i({
4
4
  __name: "Text",
5
5
  props: {
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("./index-C3GRUUlT.cjs"),s={class:"tt-video"},c={class:"tt-video__box"},d={class:"tt-video__inner"},l=["src"],r={key:1,class:"tt-video__placeholder"},a=e.defineComponent({__name:"VideoPlayer",props:{node:{}},setup(t){return(_,o)=>(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("div",c,[e.createElementVNode("div",d,[t.node.attrs.status==="done"?(e.openBlock(),e.createElementBlock("video",{key:0,ref:"videoPreviewRef",class:"tt-video__player",controls:"",playsinline:"",preload:"metadata",src:t.node.attrs.src},null,8,l)):(e.openBlock(),e.createElementBlock("div",r,[...o[0]||(o[0]=[e.createElementVNode("span",null,"视频正在上传中,请等待...",-1)])]))])])]))}}),i=n._export_sfc(a,[["__scopeId","data-v-a9a25bc8"]]);exports.default=i;
@@ -0,0 +1,33 @@
1
+ import { defineComponent as n, createElementBlock as e, openBlock as t, createElementVNode as o } from "vue";
2
+ import { _ as a } from "./index-Dnk-53ct.js";
3
+ const i = { class: "tt-video" }, r = { class: "tt-video__box" }, _ = { class: "tt-video__inner" }, c = ["src"], l = {
4
+ key: 1,
5
+ class: "tt-video__placeholder"
6
+ }, p = /* @__PURE__ */ n({
7
+ __name: "VideoPlayer",
8
+ props: {
9
+ node: {}
10
+ },
11
+ setup(s) {
12
+ return (v, d) => (t(), e("div", i, [
13
+ o("div", r, [
14
+ o("div", _, [
15
+ s.node.attrs.status === "done" ? (t(), e("video", {
16
+ key: 0,
17
+ ref: "videoPreviewRef",
18
+ class: "tt-video__player",
19
+ controls: "",
20
+ playsinline: "",
21
+ preload: "metadata",
22
+ src: s.node.attrs.src
23
+ }, null, 8, c)) : (t(), e("div", l, [...d[0] || (d[0] = [
24
+ o("span", null, "视频正在上传中,请等待...", -1)
25
+ ])]))
26
+ ])
27
+ ])
28
+ ]));
29
+ }
30
+ }), u = /* @__PURE__ */ a(p, [["__scopeId", "data-v-a9a25bc8"]]);
31
+ export {
32
+ u as default
33
+ };
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),m=Symbol(),p=e.ref([]),h=Symbol(),f=t=>{if(!t)return[];const r=[],i=n=>{n.type==="image"&&r.push(n),n.content&&n.content.forEach(c=>i(c))};return i(t),r},d=(t,r)=>{const i=t.__vccOpts||t;for(const[n,c]of r)i[n]=c;return i},k={},P={class:"error-wrapper"};function g(t,r){return e.openBlock(),e.createElementBlock("div",P,"组件加载失败")}const q=d(k,[["render",g],["__scopeId","data-v-4fa940a8"]]),y={};function B(t,r){return"loading..."}const _=d(y,[["render",B]]),o=(t,r={loadingComponent:_,delay:200,errorComponent:q,timeout:5e3})=>e.defineAsyncComponent({loader:t,...r}),C=new Set(["image","attachment-block","video"]);function b(t,r){if(!t||!t.content){const s={type:t?.type??"doc",content:t?.content??[]};return r?.extractMedia?[{subPage:s,mediaList:[]}]:[s]}const i=[];let n=[],c=null;return t.content.forEach(s=>{if(s.type==="heading"){const l=s.attrs?.level;c===null&&(c=l),l===c&&n.length>0&&(i.push({type:"doc",content:n}),n=[])}n.push(s)}),n.length>0&&i.push({type:"doc",content:n}),r?.extractMedia?i.map(s=>{const a=[],l=[];for(const u of s.content)C.has(u.type)?a.push(u):l.push(u);return{subPage:{type:s.type,content:l},mediaList:a}}):i}const M={"attachment-inline":o(()=>Promise.resolve().then(()=>require("./AttachmentInline-B1iq2ZzJ.cjs"))),"attachment-block":o(()=>Promise.resolve().then(()=>require("./AttachmentBlock-tnlBhmh1.cjs")))},x={text:o(()=>Promise.resolve().then(()=>require("./Text-CO8w66wD.cjs"))),paragraph:o(()=>Promise.resolve().then(()=>require("./Paragraph-D9tNHRR2.cjs"))),heading:o(()=>Promise.resolve().then(()=>require("./Heading-BUnffIAz.cjs"))),orderedList:o(()=>Promise.resolve().then(()=>require("./OrderedList-DMl3tvwP.cjs"))),bulletList:o(()=>Promise.resolve().then(()=>require("./BulletList-CFjF3U-l.cjs"))),listItem:o(()=>Promise.resolve().then(()=>require("./ListItem-BrjxeGxz.cjs"))),horizontalRule:o(()=>Promise.resolve().then(()=>require("./HorizontalRule-CE09LZGf.cjs"))),blockquote:o(()=>Promise.resolve().then(()=>require("./Blockquote-CQSBFnsu.cjs"))),hardBreak:o(()=>Promise.resolve().then(()=>require("./HardBreak-Dbf5Zg5o.cjs")))},L={callout:o(()=>Promise.resolve().then(()=>require("./Callout-CZlxGY4m.cjs")))},w={codeBlock:o(()=>Promise.resolve().then(()=>require("./CodeBlock-C-HQYt0D.cjs"))),cellOutput:o(()=>Promise.resolve().then(()=>require("./CellOutput-B0B-15G4.cjs")))},I={foldBlock:o(()=>Promise.resolve().then(()=>require("./FoldBlock-DPjAMxNU.cjs")))},E={grid:o(()=>Promise.resolve().then(()=>require("./Grid-CWblUZA1.cjs")))},S={iframe:o(()=>Promise.resolve().then(()=>require("./IFrame-Ch4uHCg5.cjs")))},$={image:o(()=>Promise.resolve().then(()=>require("./Image-DO6aHhWw.cjs")))},N={math_inline:o(()=>Promise.resolve().then(()=>require("./MathInline-CRd3OFdA.cjs"))),math_display:o(()=>Promise.resolve().then(()=>require("./MathDisplay-C9wXYcrr.cjs")))},R={multipleChoice:o(()=>Promise.resolve().then(()=>require("./MultipleChoice-Dn1ewqwh.cjs"))),mcQuestion:o(()=>Promise.resolve().then(()=>require("./McQuestion-DZnm3GYh.cjs"))),mcChoices:o(()=>Promise.resolve().then(()=>require("./McChoices-BRXKs2zr.cjs"))),mcSolution:o(()=>Promise.resolve().then(()=>require("./McSolution-Ddp2JqTg.cjs")))},A={table:o(()=>Promise.resolve().then(()=>require("./TableContainer-C5KXY6f7.cjs"))),tableHeader:o(()=>Promise.resolve().then(()=>require("./TableHeader-BTuqvorM.cjs"))),tableRow:o(()=>Promise.resolve().then(()=>require("./TableRow-D4F6AKFt.cjs"))),tableCell:o(()=>Promise.resolve().then(()=>require("./TableCell-BY9gdldc.cjs")))},D={doc:o(()=>Promise.resolve().then(()=>require("./Doc-D2yvlSII.cjs"))),slotNode:o(()=>Promise.resolve().then(()=>require("./SlotNode-CuhFzL_Q.cjs")))},H={video:o(()=>Promise.resolve().then(()=>require("./VideoPlayer-BEvuUlWw.cjs")))},T={...M,...x,...L,...w,...I,...E,...$,...N,...R,...A,...D,...S,...H},v=e.defineComponent({__name:"TreeRecursive",props:{node:{}},setup(t){const r=new Set(["blockquote","orderedList","bulletList","paragraph","math_display","codeBlock","cellOutput","callout","foldBlock","image","attachment-block","grid","table","iframe","multipleChoice"]),i=e.computed(()=>r.has(t.node.type)&&t.node.attrs&&t.node.attrs["block-id"]?{"data-block-id":t.node.attrs["block-id"]}:{});return(n,c)=>{const s=e.resolveComponent("TreeRecursive",!0);return e.openBlock(),e.createBlock(e.Suspense,null,{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T)[t.node.type]),e.mergeProps({node:t.node},i.value),{default:e.withCtx(()=>[t.node.content&&!(t.node.type in["foldBlock","grid","callout"])?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.node.content,a=>(e.openBlock(),e.createBlock(s,{node:a,key:e.useId()},null,8,["node"]))),128)):e.createCommentVNode("",!0)]),_:1},16,["node"]))]),_:1})}}}),K={class:"tree-render"},O=e.defineComponent({__name:"TreeRender",props:{node:{},axios:{}},setup(t){return e.provide(h,p),e.provide(m,t.axios),e.watch(()=>t.node,r=>{p.value=f(r)},{immediate:!0}),(r,i)=>(e.openBlock(),e.createElementBlock("div",K,[t.node?(e.openBlock(),e.createBlock(v,{key:0,node:t.node},null,8,["node"])):e.createCommentVNode("",!0)]))}}),V=e.defineComponent({__name:"MediaRender",props:{node:{},axios:{}},setup(t){const r={image:o(()=>Promise.resolve().then(()=>require("./Image-DO6aHhWw.cjs"))),"attachment-block":o(()=>Promise.resolve().then(()=>require("./AttachmentBlock-tnlBhmh1.cjs"))),video:o(()=>Promise.resolve().then(()=>require("./VideoPlayer-BEvuUlWw.cjs")))};return t.axios&&e.provide(m,t.axios),(i,n)=>(e.openBlock(),e.createBlock(e.Suspense,null,{default:e.withCtx(()=>[r[t.node.type]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r[t.node.type]),{key:0,node:t.node},null,8,["node"])):e.createCommentVNode("",!0)]),_:1}))}});exports._export_sfc=d;exports._sfc_main=v;exports._sfc_main$1=O;exports._sfc_main$2=V;exports.axiosKey=m;exports.imageNodesKey=h;exports.splitDocIntoMultiPagesByHeading=b;
@@ -0,0 +1,217 @@
1
+ import { ref as _, createElementBlock as f, openBlock as c, defineAsyncComponent as C, defineComponent as h, computed as x, resolveComponent as B, createBlock as s, Suspense as k, withCtx as d, resolveDynamicComponent as b, unref as L, mergeProps as I, createCommentVNode as g, Fragment as w, renderList as R, useId as S, provide as u, watch as A } from "vue";
2
+ const v = /* @__PURE__ */ Symbol(), y = _([]), E = /* @__PURE__ */ Symbol(), $ = (e) => {
3
+ if (!e)
4
+ return [];
5
+ const o = [], r = (n) => {
6
+ n.type === "image" && o.push(n), n.content && n.content.forEach((i) => r(i));
7
+ };
8
+ return r(e), o;
9
+ }, M = (e, o) => {
10
+ const r = e.__vccOpts || e;
11
+ for (const [n, i] of o)
12
+ r[n] = i;
13
+ return r;
14
+ }, P = {}, T = { class: "error-wrapper" };
15
+ function D(e, o) {
16
+ return c(), f("div", T, "组件加载失败");
17
+ }
18
+ const H = /* @__PURE__ */ M(P, [["render", D], ["__scopeId", "data-v-4fa940a8"]]), N = {};
19
+ function O(e, o) {
20
+ return "loading...";
21
+ }
22
+ const q = /* @__PURE__ */ M(N, [["render", O]]), t = (e, o = {
23
+ loadingComponent: q,
24
+ delay: 200,
25
+ errorComponent: H,
26
+ timeout: 5e3
27
+ }) => C({
28
+ loader: e,
29
+ ...o
30
+ }), K = /* @__PURE__ */ new Set(["image", "attachment-block", "video"]);
31
+ function ae(e, o) {
32
+ if (!e || !e.content) {
33
+ const a = { type: e?.type ?? "doc", content: e?.content ?? [] };
34
+ return o?.extractMedia ? [{ subPage: a, mediaList: [] }] : [a];
35
+ }
36
+ const r = [];
37
+ let n = [], i = null;
38
+ return e.content.forEach((a) => {
39
+ if (a.type === "heading") {
40
+ const m = a.attrs?.level;
41
+ i === null && (i = m), m === i && n.length > 0 && (r.push({ type: "doc", content: n }), n = []);
42
+ }
43
+ n.push(a);
44
+ }), n.length > 0 && r.push({ type: "doc", content: n }), o?.extractMedia ? r.map((a) => {
45
+ const l = [], m = [];
46
+ for (const p of a.content)
47
+ K.has(p.type) ? l.push(p) : m.push(p);
48
+ return {
49
+ subPage: { type: a.type, content: m },
50
+ mediaList: l
51
+ };
52
+ }) : r;
53
+ }
54
+ const z = {
55
+ "attachment-inline": t(() => import("./AttachmentInline-CVcQynCS.js")),
56
+ "attachment-block": t(() => import("./AttachmentBlock-ByHtTWuI.js"))
57
+ }, F = {
58
+ text: t(() => import("./Text-Cs5aiGbS.js")),
59
+ paragraph: t(() => import("./Paragraph-WPKhTw9U.js")),
60
+ heading: t(() => import("./Heading-BElRvhGn.js")),
61
+ orderedList: t(() => import("./OrderedList-B8v1gchv.js")),
62
+ bulletList: t(() => import("./BulletList-BQTUD69X.js")),
63
+ listItem: t(() => import("./ListItem-X0T7a_z8.js")),
64
+ horizontalRule: t(() => import("./HorizontalRule-BRG45oT0.js")),
65
+ blockquote: t(() => import("./Blockquote-BamWUQND.js")),
66
+ hardBreak: t(() => import("./HardBreak-B2tFO31P.js"))
67
+ }, Q = {
68
+ callout: t(() => import("./Callout-CAAjU4gc.js"))
69
+ }, V = {
70
+ codeBlock: t(() => import("./CodeBlock-esh4GRUm.js")),
71
+ cellOutput: t(() => import("./CellOutput-CSND51qF.js"))
72
+ }, Y = {
73
+ foldBlock: t(() => import("./FoldBlock-GqZ4Q6gf.js"))
74
+ }, j = {
75
+ grid: t(() => import("./Grid-DgWoulAe.js"))
76
+ }, G = {
77
+ iframe: t(() => import("./IFrame-BZYrBDpx.js"))
78
+ }, J = {
79
+ image: t(() => import("./Image-BGDBIQBQ.js"))
80
+ }, U = {
81
+ math_inline: t(() => import("./MathInline-BnR24HSK.js")),
82
+ math_display: t(() => import("./MathDisplay-C0EWPqfF.js"))
83
+ }, W = {
84
+ multipleChoice: t(() => import("./MultipleChoice-BLWPtgSX.js")),
85
+ mcQuestion: t(() => import("./McQuestion-Ctvd6D_8.js")),
86
+ mcChoices: t(() => import("./McChoices-C5FkOVA3.js")),
87
+ mcSolution: t(() => import("./McSolution-CIp9mRqD.js"))
88
+ }, X = {
89
+ table: t(() => import("./TableContainer-C9PhNGlz.js")),
90
+ tableHeader: t(() => import("./TableHeader-C7KKz3e1.js")),
91
+ tableRow: t(() => import("./TableRow-OzpVq1qW.js")),
92
+ tableCell: t(() => import("./TableCell-Bp52L368.js"))
93
+ }, Z = {
94
+ doc: t(() => import("./Doc-6s4VMDsx.js")),
95
+ slotNode: t(() => import("./SlotNode-mfYYyUtZ.js"))
96
+ }, ee = {
97
+ video: t(() => import("./VideoPlayer-CN37442r.js"))
98
+ }, te = {
99
+ ...z,
100
+ // 附件和视频类型
101
+ ...F,
102
+ // 基础类型,包括各种字体样式
103
+ ...Q,
104
+ // 高亮块
105
+ ...V,
106
+ // 代码块
107
+ ...Y,
108
+ // 折叠块
109
+ ...j,
110
+ // 分栏
111
+ ...J,
112
+ // 图片
113
+ ...U,
114
+ // 数学公式
115
+ ...W,
116
+ //选择题
117
+ ...X,
118
+ // 表格
119
+ ...Z,
120
+ // 容器
121
+ ...G,
122
+ // iframe
123
+ ...ee
124
+ // 文件
125
+ }, oe = /* @__PURE__ */ h({
126
+ __name: "TreeRecursive",
127
+ props: {
128
+ node: {}
129
+ },
130
+ setup(e) {
131
+ const o = /* @__PURE__ */ new Set([
132
+ "blockquote",
133
+ "orderedList",
134
+ "bulletList",
135
+ "paragraph",
136
+ "math_display",
137
+ "codeBlock",
138
+ "cellOutput",
139
+ "callout",
140
+ "foldBlock",
141
+ "image",
142
+ "attachment-block",
143
+ "grid",
144
+ "table",
145
+ "iframe",
146
+ "multipleChoice"
147
+ ]), r = x(() => o.has(e.node.type) && e.node.attrs && e.node.attrs["block-id"] ? { "data-block-id": e.node.attrs["block-id"] } : {});
148
+ return (n, i) => {
149
+ const a = B("TreeRecursive", !0);
150
+ return c(), s(k, null, {
151
+ default: d(() => [
152
+ (c(), s(b(L(te)[e.node.type]), I({ node: e.node }, r.value), {
153
+ default: d(() => [
154
+ e.node.content && !(e.node.type in ["foldBlock", "grid", "callout"]) ? (c(!0), f(w, { key: 0 }, R(e.node.content, (l) => (c(), s(a, {
155
+ node: l,
156
+ key: S()
157
+ }, null, 8, ["node"]))), 128)) : g("", !0)
158
+ ]),
159
+ _: 1
160
+ }, 16, ["node"]))
161
+ ]),
162
+ _: 1
163
+ });
164
+ };
165
+ }
166
+ }), ne = { class: "tree-render" }, ce = /* @__PURE__ */ h({
167
+ __name: "TreeRender",
168
+ props: {
169
+ node: {},
170
+ axios: {}
171
+ },
172
+ setup(e) {
173
+ return u(E, y), u(v, e.axios), A(
174
+ () => e.node,
175
+ (o) => {
176
+ y.value = $(o);
177
+ },
178
+ { immediate: !0 }
179
+ ), (o, r) => (c(), f("div", ne, [
180
+ e.node ? (c(), s(oe, {
181
+ key: 0,
182
+ node: e.node
183
+ }, null, 8, ["node"])) : g("", !0)
184
+ ]));
185
+ }
186
+ }), ie = /* @__PURE__ */ h({
187
+ __name: "MediaRender",
188
+ props: {
189
+ node: {},
190
+ axios: {}
191
+ },
192
+ setup(e) {
193
+ const o = {
194
+ image: t(() => import("./Image-BGDBIQBQ.js")),
195
+ "attachment-block": t(() => import("./AttachmentBlock-ByHtTWuI.js")),
196
+ video: t(() => import("./VideoPlayer-CN37442r.js"))
197
+ };
198
+ return e.axios && u(v, e.axios), (r, n) => (c(), s(k, null, {
199
+ default: d(() => [
200
+ o[e.node.type] ? (c(), s(b(o[e.node.type]), {
201
+ key: 0,
202
+ node: e.node
203
+ }, null, 8, ["node"])) : g("", !0)
204
+ ]),
205
+ _: 1
206
+ }));
207
+ }
208
+ });
209
+ export {
210
+ M as _,
211
+ v as a,
212
+ oe as b,
213
+ ce as c,
214
+ ie as d,
215
+ E as i,
216
+ ae as s
217
+ };
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-ByaYOIDK.cjs");exports.TreeRender=e._sfc_main$1;exports.splitDocIntoMultiPagesByHeading=e.splitDocIntoMultiPagesByHeading;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-C3GRUUlT.cjs");exports.Media=e._sfc_main$2;exports.TreeRender=e._sfc_main$1;exports.splitDocIntoMultiPagesByHeading=e.splitDocIntoMultiPagesByHeading;
package/dist/index.es.js CHANGED
@@ -1,5 +1,6 @@
1
- import { c as a, s as o } from "./index-D5y1u4eT.js";
1
+ import { d as s, c as d, s as i } from "./index-Dnk-53ct.js";
2
2
  export {
3
- a as TreeRender,
4
- o as splitDocIntoMultiPagesByHeading
3
+ s as Media,
4
+ d as TreeRender,
5
+ i as splitDocIntoMultiPagesByHeading
5
6
  };
@@ -1 +1 @@
1
- @charset "UTF-8";.error-wrapper[data-v-4fa940a8]{width:160px;height:90px;display:flex;align-items:center;justify-content:center;color:#882e2e;font-size:12px;border:1px solid #888;border-radius:8px}.tree-render mark{color:inherit;background-color:inherit}.tree-render{min-height:calc(100vh - 232.25px);outline:none;width:100%;box-sizing:border-box}.tree-render ::selection{background-color:#1456f02e}.tree-render{color:#1f2329;letter-spacing:.28px;word-wrap:break-word;font-family:LarkHackSafariFont,LarkEmojiFont,LarkChineseQuote,-apple-system,BlinkMacSystemFont,Helvetica Neue,Tahoma,PingFang SC,Microsoft Yahei,Arial,Hiragino Sans GB,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tree-render code{font-family:Source Code Pro,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Microsoft Yahei}.tree-render h1,.tree-render h2,.tree-render h3,.tree-render h4,.tree-render h5,.tree-render h6{font-weight:600;letter-spacing:-.52px}.tree-render h1 code,.tree-render h2 code,.tree-render h3 code,.tree-render h4 code,.tree-render h5 code,.tree-render h6 code{box-sizing:border-box;margin:0 3px;padding:1px 2px;background-color:#f5f6f7;border-radius:4px;border:1px solid rgb(222,224,227)}.tree-render .doc>h1:first-child{margin-top:22px}.tree-render h1{margin-top:26px;margin-bottom:10px;font-size:26px;line-height:36.4px}.tree-render h2{margin-top:22px;margin-bottom:8px;font-size:22px;line-height:30.8px}.tree-render h3{margin-top:20px;margin-bottom:8px;font-size:20px;line-height:28px}.tree-render h4{margin-top:18px;margin-bottom:8px;font-size:18px;line-height:25.2px}.tree-render h5{margin-top:18px;margin-bottom:8px;font-size:16px;line-height:22.4px}.tree-render h6{margin-top:16px;margin-bottom:8px;font-size:16px;line-height:22.4px}@media screen and (max-width:768px){.tree-render h1{font-size:22px;line-height:200%}.tree-render h2{font-size:19px;line-height:200%}.tree-render h3{font-size:18px;line-height:200%}.tree-render h4{font-size:17px;line-height:200%}.tree-render h5,.tree-render h6{font-size:16px;line-height:200%}}.tree-render hr{border:none;margin:8px 0;height:26px;position:relative}.tree-render hr:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background-color:#1f232926;transform:translateY(-50%)}.tree-render blockquote{border-left:2px solid rgb(187,191,196);padding-left:12px}.tree-render blockquote p{color:#646a73}.tree-render span.math-src div[contenteditable=true]{outline:none}.tree-render p{margin:8px 0;line-height:26px;font-size:16px;font-weight:400;white-space-collapse:break-spaces;text-wrap-mode:wrap}.tree-render p a{color:#336df4;text-decoration:none;cursor:pointer}.tree-render p a:hover{text-decoration:underline;text-decoration-color:#336df4}.tree-render p strong{font-weight:700}.tree-render p em{font-style:italic}.tree-render p del{text-decoration:line-through}.tree-render p u{text-decoration:underline}.tree-render p code{box-sizing:border-box;margin:0 3px;padding:1px 2px;background-color:#f5f6f7;border-radius:4px;border:1px solid rgb(222,224,227)}.tree-render ul{margin-left:22px;margin-top:8px;margin-bottom:8px}.tree-render ul>li::marker{content:"• ";color:#1456f0;font-size:16px}.tree-render ul ul>li::marker{content:"◦ ";color:#1456f0;font-size:16px}.tree-render ul ul ul>li::marker{content:"▪ ";color:#1456f0;font-size:16px}.tree-render ul ul ul ul>li::marker{content:"• ";color:#1456f0;font-size:16px}.tree-render ul ul ul ul ul>li::marker{content:"◦ ";color:#1456f0;font-size:16px}.tree-render li{margin:8px 0}.tree-render ol{margin-left:29px;list-style-type:decimal}.tree-render ol li::marker{color:#1456f0;font-family:Helvetica Neue,Consolas}.tree-render ol ol{list-style-type:lower-alpha}.tree-render ol ol ol{list-style-type:lower-roman}.tree-render ol ol ol ol{list-style-type:decimal}.tree-render ol ol ol ol ol{list-style-type:lower-alpha}.tree-render .tiptap .shiki{border-radius:4px;padding:8px}.tree-render .tiptap .shiki:focus-visible{outline:2px solid transparent;outline-offset:2px}.tree-render pre{padding:24px;border-radius:6px;margin:16px 0;outline:none;box-shadow:#00000029 0 1px 4px;overflow-x:auto;background-color:#f5f6f7}.tree-render pre code{width:100%;outline:none;line-height:22px;font-size:14px}.tree-render pre code span{text-wrap-mode:nowrap}.tree-render .tableWrapper{margin:24px 0;max-width:100%;overflow-x:auto}.tree-render table th,.tree-render table td{min-width:39px;border:1px solid rgb(222,224,227);padding:12px;position:relative}.tree-render table th :not(a.grip-column):not(a.grip-row):nth-child(1),.tree-render table th a.grip-column+:not(a.grip-row):nth-child(2),.tree-render table th a.grip-row+:not(a.grip-column):nth-child(2),.tree-render table th a.grip-column+*:nth-child(3),.tree-render table th a.grip-row+*:nth-child(3),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-child(1),.tree-render table td a.grip-column+:not(a.grip-row):nth-child(2),.tree-render table td a.grip-row+:not(a.grip-column):nth-child(2),.tree-render table td a.grip-column+*:nth-child(3),.tree-render table td a.grip-row+*:nth-child(3){margin-top:0}.tree-render table th :not(a.grip-column):not(a.grip-row):nth-last-child(1),.tree-render table th :not(a.grip-column):not(a.grip-row):nth-last-child(2),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-last-child(1),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-last-child(2){margin-bottom:0}.tree-render table .column-resize-handle{background-color:#1456f0;bottom:0;pointer-events:none;position:absolute;right:-1px;top:0;width:2px}.tree-render table .selectedCell{background-color:#1456f02e!important}.tree-render table .grip-column,.tree-render table .grip-row{display:flex;align-items:center;justify-content:center;position:absolute;z-index:10;background-color:#eff0f1;cursor:pointer}.tree-render table .grip-column{width:100%;height:8px;left:0;top:-8px;margin-left:-1px;margin-top:-1px;border-left:1px solid rgb(239,240,241);border-right:1px solid rgb(239,240,241)}.tree-render table .grip-column:hover,.tree-render table .grip-column.selected{z-index:15}.tree-render table .grip-column:hover:before,.tree-render table .grip-column.selected:before{content:"";width:10px}.tree-render table .grip-column:hover{border-left:1px solid rgb(227,227,227);border-right:1px solid rgb(227,227,227);background-color:#e3e3e3}.tree-render table .grip-column:hover:before{border-bottom:2px dotted rgb(95,95,95)}.tree-render table .grip-column.selected{border-left:1px solid rgb(20,86,240);border-right:1px solid rgb(20,86,240);background-color:#1456f0}.tree-render table .grip-column.selected:before{border-bottom:2px dotted rgb(251,251,251)}.tree-render table .grip-column.first{border-top-left-radius:4px}.tree-render table .grip-column.last{border-top-right-radius:4px}.tree-render table .grip-row{width:8px;height:100%;top:0;left:-8px;margin-top:-1px;margin-left:-1px;border-top:1px solid rgb(239,240,241);border-bottom:1px solid rgb(239,240,241)}.tree-render table .grip-row:hover,.tree-render table .grip-row.selected{z-index:15}.tree-render table .grip-row:hover:before,.tree-render table .grip-row.selected:before{content:"";height:10px}.tree-render table .grip-row:hover{border-top:1px solid rgb(227,227,227);border-bottom:1px solid rgb(227,227,227);background-color:#e3e3e3}.tree-render table .grip-row:hover:before{border-left:2px dotted rgb(95,95,95)}.tree-render table .grip-row.selected{border-top:1px solid rgb(20,86,240);border-bottom:1px solid rgb(20,86,240);background-color:#1456f0}.tree-render table .grip-row.selected:before{border-left:2px dotted rgb(251,251,251)}.tree-render table .grip-row.first{border-top-left-radius:4px}.tree-render table .grip-row.last{border-bottom-left-radius:4px}[data-v-583c080e]{outline:none!important}.attachment-menu[data-v-583c080e]{height:40px;box-sizing:border-box;box-shadow:#1f23291a 0 4px 8px;background-color:#fff;border:1px solid rgb(222,224,227);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8px 0}.attachment-menu-group[data-v-583c080e]{margin:0!important;padding:0 8px;height:24px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgb(222,224,227)}.attachment-menu-group[data-v-583c080e]:last-child{border-right:none}.attachment-menu-group .attachment-menu-item[data-v-583c080e]:first-child{margin-left:0!important}.attachment-menu-item[data-v-583c080e]{cursor:pointer;width:24px;height:24px;border-radius:4px;margin-left:8px!important;color:#2b2f36;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.attachment-menu-item[data-v-583c080e]:hover{background-color:#1f232914}.attachment-menu-item[data-v-583c080e]:active{background-color:#10101029}.attachment-menu-item[data-v-583c080e]:first-child{margin-left:0}.attachment-menu-item-icon[data-v-583c080e]{width:18px;height:18px}.attachment-fullscreen-dialog-header[data-v-583c080e]{width:100%;height:64px;padding:0;border-bottom:1px solid rgb(222,224,227);box-sizing:border-box;background-color:#fff;display:flex;align-items:center}.attachment-fullscreen-dialog-header-close[data-v-583c080e]{display:flex;align-items:center;border:none;outline:none;background-color:#fff;width:72px;height:30px;margin:0 0 0 12px;padding:4px 8px;border-radius:6px;font-size:16px;color:#1f2329;cursor:pointer}.attachment-fullscreen-dialog-header-close[data-v-583c080e]:hover{background-color:#1f23291a}.attachment-fullscreen-dialog-header-close[data-v-583c080e]:active{background-color:#1f232933}.attachment-fullscreen-dialog-header-close-icon[data-v-583c080e]{margin-right:4px}.attachment-fullscreen-dialog-header-close-text[data-v-583c080e]{margin-left:4px}.attachment-fullscreen-dialog-header-line[data-v-583c080e]{margin-left:8px;margin-right:16px;height:36px;border-right:1px solid rgb(222,224,227)}.attachment-fullscreen-dialog-header-title[data-v-583c080e]{display:flex;align-items:center;max-height:48px;overflow:hidden;max-width:calc(100% - 120px);-webkit-box-flex:1;-ms-flex:1;flex:1}.attachment-fullscreen-dialog-header-title-icon[data-v-583c080e]{margin:6px 14px 6px 0;width:36px;height:36px}.attachment-fullscreen-dialog-header-title-info[data-v-583c080e]{display:flex;flex-direction:column;justify-content:center;line-height:1.7}.attachment-fullscreen-dialog-header-title-info-filename[data-v-583c080e]{color:#1f2329;overflow:hidden;font-size:16px!important;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-align:left;white-space:nowrap}.attachment-fullscreen-dialog-header-title-info-filesize[data-v-583c080e]{color:#646a73;font-size:12px}.attachment-fullscreen-dialog-header-download[data-v-583c080e]{display:flex;justify-content:center;align-items:center;padding:0;border:none;outline:none;margin:0 28px 0 4px;box-sizing:border-box;height:32px;width:80px;border-radius:6px;background-color:#fff;border:1px solid rgb(208,211,214);cursor:pointer;font-size:14px}.attachment-fullscreen-dialog-header-download[data-v-583c080e]:hover{background-color:#f2f3f5}.attachment-fullscreen-dialog-header-download[data-v-583c080e]:active{background-color:#eff0f1}.attachment-fullscreen-dialog-header-download-icon[data-v-583c080e]{margin-right:4px;width:14px;height:14px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-iframe-wrapper[data-v-583c080e]{width:100%;height:calc(100vh - 64px);margin-top:-16px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-iframe-wrapper iframe[data-v-583c080e]{width:100%;height:calc(100% - 2px)}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable[data-v-583c080e]{width:100%;height:calc(100vh - 64px);margin-top:-16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable .attachment-fullscreen-preview-unable-img[data-v-583c080e]{width:120px;height:120px;display:block;margin-bottom:16px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable .attachment-fullscreen-preview-unable-text[data-v-583c080e]{font-size:14px;color:#646a73;margin-top:4px;line-height:1.8}.attachment-inline-container[data-v-7c608a16]{display:inline-block;height:100%;box-sizing:border-box;line-height:1.15em;padding:3px 2px;position:relative;cursor:pointer}.attachment-inline-container[data-v-7c608a16]:hover{background-color:#336df41a;border-radius:4px}.attachment-inline-container .attachment-inline-icon[data-v-7c608a16]{width:1.15em;height:1.15em;-webkit-transform:translateY(2px);transform:translateY(2px)}.attachment-inline-container .attachment-inline-text[data-v-7c608a16]{margin-left:2px;color:#1456f0}.attachment-inline-container .attachment-inline-loading[data-v-7c608a16]{color:#77a4e2}.attachment-inline-container .attachment-inline-menu[data-v-7c608a16]{position:absolute;top:-46px;left:var(--v4668c5a8);transform:translate(-50%)}.ai-panel[data-v-487a56a5]{background:#fff;border-radius:8px;border:1px solid #e5e7eb;height:100%;max-height:500px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.panel-header[data-v-487a56a5]{padding:12px 16px;background-color:#eff6ff;border-bottom:1px solid #bfdbfe;display:flex;justify-content:space-between;align-items:center}.panel-header .header-title[data-v-487a56a5]{font-size:14px;font-weight:600;color:#1e40af;display:flex;align-items:center;gap:8px}.panel-header .close-btn[data-v-487a56a5]{background:transparent;border:none;cursor:pointer;color:#60a5fa;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;width:24px;height:24px}.panel-header .close-btn svg[data-v-487a56a5]{width:18px;height:18px}.panel-header .close-btn[data-v-487a56a5]:hover{background-color:#ffffff80;color:#1e40af}.panel-loading[data-v-487a56a5],.panel-error[data-v-487a56a5]{padding:32px;text-align:center;color:#6b7280;font-size:13px}.panel-loading .spinner[data-v-487a56a5],.panel-error .spinner[data-v-487a56a5]{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;margin:0 auto 12px;animation:spin-487a56a5 1s linear infinite}.panel-content[data-v-487a56a5]{flex:1;overflow-y:auto;padding:0}.panel-content[data-v-487a56a5]::-webkit-scrollbar{width:4px}.panel-content[data-v-487a56a5]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.content-card[data-v-487a56a5]{padding:16px;border-bottom:1px solid #e5e7eb}.content-card[data-v-487a56a5]:last-child{border-bottom:none}.content-card .card-header[data-v-487a56a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.content-card .card-header .card-title[data-v-487a56a5]{font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase}.content-card .card-header .badge[data-v-487a56a5]{font-size:12px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#6b7280}.summary-card .summary-text[data-v-487a56a5]{font-size:14px;line-height:1.6;color:#374151;text-align:justify;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.summary-card .summary-text.expanded[data-v-487a56a5]{-webkit-line-clamp:unset;overflow:visible}.summary-card .expand-btn[data-v-487a56a5]{margin-top:8px;font-size:12px;color:#2563eb;cursor:pointer}.summary-card .expand-btn[data-v-487a56a5]:hover{text-decoration:underline}.chapter-list[data-v-487a56a5]{display:flex;flex-direction:column;gap:8px}.chapter-item[data-v-487a56a5]{display:flex;gap:12px;padding:8px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .2s}.chapter-item[data-v-487a56a5]:hover{background-color:#f3f4f6;border-color:#e5e7eb}.chapter-item:hover .chapter-index[data-v-487a56a5]{background-color:#fff;color:#2563eb}.chapter-item:hover .chapter-title[data-v-487a56a5]{color:#2563eb}.chapter-item .chapter-index[data-v-487a56a5]{width:20px;height:20px;background-color:#dbeafe;color:#2563eb;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;margin-top:2px}.chapter-item .chapter-info[data-v-487a56a5]{flex:1;min-width:0}.chapter-item .chapter-info .chapter-title[data-v-487a56a5]{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.chapter-item .chapter-info .chapter-time[data-v-487a56a5]{font-size:12px;color:#9ca3af;display:flex;align-items:center;gap:4px}.empty-state[data-v-487a56a5]{text-align:center;color:#9ca3af;font-size:13px;padding:12px 0}@keyframes spin-487a56a5{to{transform:rotate(360deg)}}.attachment-block-container[data-v-6ebf6463]{margin:16px 0}.attachment-block-card-container[data-v-6ebf6463]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;max-width:400px;height:65.14px;box-sizing:border-box;background-color:#fff;border-radius:8px;border:1px solid rgb(222,224,227);cursor:pointer}.attachment-block-card-container[data-v-6ebf6463]:hover{border-color:#c2d4ff;box-shadow:#c2d4ff 0 0 0 1px}.attachment-block-card-container .attachment-block-card-icon[data-v-6ebf6463]{width:48px;height:48px;margin:8px 12px 8px 8px;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-icon .attachment-block-card-icon-svg[data-v-6ebf6463]{width:48px;height:48px}.attachment-block-card-container .attachment-block-card-info[data-v-6ebf6463]{flex:1;display:flex;flex-direction:column;justify-content:center}.attachment-block-card-container .attachment-block-card-info .attachment-block-card-info-name[data-v-6ebf6463]{-webkit-user-select:none;user-select:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;text-align:left;overflow:hidden;color:#1f2329;max-height:44px;max-width:260px;line-height:22px}.attachment-block-card-container .attachment-block-card-info .attachment-block-card-info-size[data-v-6ebf6463]{height:17px;white-space:nowrap;font-size:12px;color:#646a73;-webkit-user-select:none;user-select:none;line-height:1.8}.attachment-block-card-container .attachment-block-card-preview[data-v-6ebf6463]{padding-right:4px;margin:auto;height:48px;display:flex;align-items:center;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper[data-v-6ebf6463]{text-decoration:none;text-overflow:ellipsis;white-space:nowrap;height:34px;width:34px;text-align:center;position:relative;overflow:unset;margin:0 16px;cursor:pointer;padding:4px;line-height:24px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper[data-v-6ebf6463]:hover{background-color:#1f232914;border-radius:6px}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper .attachment-block-card-preview-btn[data-v-6ebf6463]{height:20px;width:20px}.attachment-block-card-container .attachment-block-card-menu[data-v-6ebf6463]{position:absolute;top:-46px;left:200px;z-index:86;transform:translate(-50%)}.attachment-block-preview-container[data-v-6ebf6463]{position:relative}.attachment-block-preview-container .attachment-block-preview-menu[data-v-6ebf6463]{position:absolute;top:-46px;left:410px;z-index:86;transform:translate(-50%)}.attachment-block-preview-container .video-block-preview-container[data-v-6ebf6463]{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:16px}.attachment-block-preview-container .video-block-preview-container .video-block-container[data-v-6ebf6463]{position:relative;display:flex;flex-direction:column;gap:16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:16px 0;transition:all .3s ease;overflow:visible}.attachment-block-preview-container .video-block-preview-container .video-main-section[data-v-6ebf6463]{flex:1;width:100%;min-width:0;display:flex;flex-direction:column;gap:12px}.attachment-block-preview-container .video-block-preview-container .video-player-wrapper[data-v-6ebf6463]{width:100%;aspect-ratio:16/9;background-color:#000;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.attachment-block-preview-container .video-block-preview-container .video-player-wrapper .video-element[data-v-6ebf6463]{width:100%;height:100%;object-fit:contain}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper[data-v-6ebf6463]{width:100%;aspect-ratio:16/9;background-color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px dashed #e5e7eb}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .uploading-content[data-v-6ebf6463],.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .error-content[data-v-6ebf6463]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#6b7280}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .error-content[data-v-6ebf6463]{color:#ef4444}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .spinner[data-v-6ebf6463]{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin-6ebf6463 1s linear infinite}.attachment-block-preview-container .video-block-preview-container .video-toolbar[data-v-6ebf6463]{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px;border-radius:8px;border:1px solid #e5e7eb}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info[data-v-6ebf6463]{display:flex;flex-direction:column}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-title[data-v-6ebf6463]{font-weight:500;color:#111827;font-size:14px}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-desc[data-v-6ebf6463]{font-size:12px;color:#6b7280}@media(max-width:380px){.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-desc[data-v-6ebf6463]{display:none}}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn[data-v-6ebf6463]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;background-color:#2563eb;color:#fff;-webkit-tap-highlight-color:transparent}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn[data-v-6ebf6463]:active{opacity:.9}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn.active[data-v-6ebf6463]{background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.attachment-block-preview-container .video-block-preview-container .video-sidebar-section[data-v-6ebf6463]{width:100%}@media(min-width:768px){.attachment-block-preview-container .video-block-preview-container .video-sidebar-section[data-v-6ebf6463]{position:absolute;top:0;left:100%;margin-left:16px;width:320px;height:auto;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:0;z-index:1;animation:fadeInRight-6ebf6463 .3s ease-out}}@keyframes spin-6ebf6463{to{transform:rotate(360deg)}}@keyframes fadeInRight-6ebf6463{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.attachment-block-preview-container .notVideo-block-preview-container[data-v-6ebf6463]{max-width:820px;border-radius:8px;border:1px solid #dee0e3}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content[data-v-6ebf6463]{height:409px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-iframe[data-v-6ebf6463]{width:100%;height:100%;border-top-left-radius:8px;border-top-right-radius:8px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable[data-v-6ebf6463]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable .attachment-block-preview-unable-img[data-v-6ebf6463]{width:120px;height:120px;display:block;margin-bottom:16px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable .attachment-block-preview-unable-text[data-v-6ebf6463]{font-size:14px;color:#646a73;margin-top:4px;line-height:1.8}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-footer[data-v-6ebf6463]{height:42px;box-sizing:border-box;padding:0 12px;display:flex;align-items:center;border-top:1px solid #dee0e3;background-color:#fff}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-footer .attachment-block-preview-icon-svg[data-v-6ebf6463]{width:18px;height:18px;margin-right:8px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-dark-bg[data-v-6ebf6463]{background-color:#f2f3f5}p[data-v-550653ec]:empty:before{content:" "}.callout-wrapper[data-v-3695cd3a]{position:relative;margin:16px 0;padding:16px;border-radius:6px;display:flex;flex-direction:row;border-width:1.5px;border-style:solid}.callout-wrapper .callout-icon[data-v-3695cd3a]{font-size:22px;width:26px;height:26px;display:flex;justify-content:center;align-items:center;cursor:default}.callout-wrapper .callout-icon[data-v-3695cd3a]:hover{background-color:#0000001a;border-radius:4px}.callout-wrapper .callout-content[data-v-3695cd3a]{padding-left:12px;display:flex;justify-content:flex-start;flex-direction:column;flex:1;min-width:0;overflow-x:auto}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]{width:100%}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>*:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:first-child>p:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:first-child>p:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>div:first-child>pre{margin-top:0}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>*:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:last-child>p:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:last-child>p:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>div:last-child>pre{margin-bottom:0}.code-block-wrapper[data-v-3b4ccf2f]{position:relative}.code-block-wrapper .copy-btn[data-v-3b4ccf2f]{position:absolute;top:8px;right:8px;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;height:20px;width:20px;display:flex;align-items:center;justify-content:center;color:#909090}pre[data-v-6fb1f0d1]{margin:0;padding:0 10px;box-shadow:none;background-color:transparent}.cell-ouput-container[data-v-6fb1f0d1]{margin:20px 0 20px 10px}.jp-error[data-v-6fb1f0d1]{line-height:14px;font-size:14px;overflow-x:auto;overflow-y:hidden}.jp-img[data-v-6fb1f0d1]{max-width:50%;height:auto}.monospace-text[data-v-6fb1f0d1]{font-family:monospace;overflow-y:hidden}.foldBlock-wrapper[data-v-c2512d4e]{position:relative;margin:16px 0;padding:16px;border-radius:6px;display:flex;flex-direction:row;border-width:1.5px;border-style:solid}.foldBlock-wrapper .collapse-icon[data-v-c2512d4e]{cursor:pointer;font-size:22px;position:absolute;top:20.5px;right:2.5px;padding:4px 12px;border-radius:0 6px 0 0;z-index:1;display:flex;align-items:center}.foldBlock-wrapper .foldBlock-icon[data-v-c2512d4e]{font-size:22px;width:26px;height:26px;display:flex;justify-content:center;align-items:center;cursor:default}.foldBlock-wrapper .foldBlock-icon[data-v-c2512d4e]:hover{background-color:#0000001a;border-radius:4px}.foldBlock-wrapper .foldBlock-inner[data-v-c2512d4e]{display:flex;flex-direction:column;flex:1;min-width:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]{padding-left:12px;padding-right:14px;padding-bottom:16px}.foldBlock-wrapper .foldBlock-inner .foldBlock-header p[data-v-c2512d4e]{font-size:20px;font-weight:600}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]{justify-content:flex-start;align-items:center}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]>*:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li:first-child>p[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li:first-child>p[data-v-c2512d4e]:first-child{margin-top:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]>*:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li:last-child>p[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li:last-child>p[data-v-c2512d4e]:last-child{margin-bottom:0}.foldBlock-wrapper .foldBlock-inner.is-folded .foldBlock-header[data-v-c2512d4e]{padding-bottom:0}.foldBlock-wrapper .foldBlock-inner.is-folded .foldBlock-content[data-v-c2512d4e]{display:none}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]{padding-left:12px;overflow-x:auto}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>*:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:first-child>p:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:first-child>p:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>div:first-child>pre{margin-top:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>*:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:last-child>p:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:last-child>p:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>div:last-child>pre{margin-bottom:0}.dipwap-grid[data-v-c3a47d6f]{display:flex;flex-direction:row;width:calc(100% - 8px);gap:12px;margin:16px 0}.dipwap-grid:hover .dipwap-column[data-v-c3a47d6f]{background-color:#646a730d}.dipwap-grid .dipwap-column[data-v-c3a47d6f]{position:relative;border-radius:8px;min-width:50px;padding:12px;background-color:transparent;transition:background-color .2s ease}.dipwap-grid .dipwap-column[data-v-c3a47d6f]>:nth-child(1){margin-top:0}.dipwap-grid .dipwap-column[data-v-c3a47d6f]>:nth-last-child(1){margin-bottom:0}@media screen and (max-width:768px){.dipwap-grid[data-v-c3a47d6f]{flex-direction:column!important;width:100%}.dipwap-column[data-v-c3a47d6f]{flex:none!important}}iframe.iframe-wrapper[data-v-3e85ed1c]{width:100%;margin:16px 0;aspect-ratio:16/9}.image-container[data-v-6f968d5a]{display:flex;flex-direction:column;margin-bottom:16px}.image-container .image-wrapper[data-v-6f968d5a]{position:relative;box-sizing:border-box;border:1px solid transparent;margin-bottom:8px;max-width:100%}.image-container .image-wrapper[data-v-6f968d5a]:before{content:"";position:absolute;inset:0;border:1px solid;border-color:inherit;pointer-events:none}.image-container .image-wrapper[data-v-6f968d5a]:hover{cursor:zoom-in}.image-container .image-wrapper[data-v-6f968d5a]:hover:before{border:2px solid #c2d4ff}.image-container .image-wrapper img[data-v-6f968d5a]{width:100%;height:100%;-webkit-touch-callout:none}.image-container .image-caption[data-v-6f968d5a]{all:unset;display:inline;text-align:center;font-size:16px;margin:0 auto;background-color:transparent;width:100%;transition:border-color .3s ease;color:#646a73}.modal-mask[data-v-6f968d5a]{position:fixed;z-index:100000;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s ease}.modal-mask .modal-close[data-v-6f968d5a]{position:absolute;top:2rem;right:2rem;width:3rem;height:3rem;line-height:2.8rem;text-align:center;color:#fff;font-size:2rem;font-weight:700;border-radius:50%;z-index:9999;background-color:#00000080;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-mask .modal-body[data-v-6f968d5a]{display:block;transition:all .3s ease}.modal-mask .modal-footer[data-v-6f968d5a]{position:absolute;bottom:20px;left:calc(50vw - 80px);display:flex;justify-content:center;align-items:center;width:160px;height:40px;background-color:#00000080;cursor:default;-webkit-user-select:none;user-select:none}.modal-mask .modal-footer .zoom-in[data-v-6f968d5a],.modal-mask .modal-footer .zoom-out[data-v-6f968d5a]{width:39px;height:100%;line-height:37px;text-align:center;color:#fff;font-size:30px}.modal-mask .modal-footer .zoom-in[data-v-6f968d5a]{border-left:1px solid #fff}.modal-mask .modal-footer .zoom-out[data-v-6f968d5a]{border-right:1px solid #fff}.modal-mask .modal-footer .percentage[data-v-6f968d5a]{width:80px;height:100%;display:flex;justify-content:center;align-items:center;color:#fff}.modal-mask .modal-footer .prev-image[data-v-6f968d5a],.modal-mask .modal-footer .next-image[data-v-6f968d5a]{width:39px;height:100%;line-height:37px;text-align:center;color:#fff;font-size:30px;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-mask .modal-footer .prev-image[data-v-6f968d5a]{border-right:1px solid #fff}.modal-mask .modal-footer .next-image[data-v-6f968d5a]{border-left:1px solid #fff}.modal-mask .modal-footer .disabled[data-v-6f968d5a]{color:#646464;cursor:not-allowed}.modal-enter-from[data-v-6f968d5a],.modal-leave-to[data-v-6f968d5a]{opacity:0}.modal-enter-from .modal-body[data-v-6f968d5a],.modal-leave-to .modal-body[data-v-6f968d5a]{-webkit-transform:scale(1.1);transform:scale(1.1)}.math-inline[data-v-5812f609]{min-width:1em;min-height:1em;font-size:.95em;font-family:Consolas,Ubuntu Mono,monospace}.math-inline .math-render[data-v-5812f609]{display:inline-block;font-size:.85em}.math-display[data-v-1d66d1b3]{min-width:.95em;min-height:.95em;font-size:.95em;font-family:Consolas,Ubuntu Mono,monospace}.math-display .math-render[data-v-1d66d1b3] .katex-display{margin:0}.mc-choices-header .choices-header-bar[data-v-1b935e83]{display:flex;align-items:center;padding:10px 15px;border-radius:5px;background-color:#e1e1e8}.mc-choices-header .choices-header-bar .header-icon[data-v-1b935e83]{height:24px;width:24px;margin-right:8px}.mc-choices-header .choices-header-bar .header-text[data-v-1b935e83]{font-size:18px;font-weight:700;font-family:Arial,sans-serif}.mc-choices-header .choice-list[data-v-1b935e83]{display:flex;flex-direction:column;background-color:#fff;padding:8px 0}.mc-choices-header .choice-list .choice-item[data-v-1b935e83]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0 12px}.mc-choices-header .choice-list .choice-item input[type=radio][data-v-1b935e83]{cursor:pointer}.mc-choices-header .choice-list .choice-item .prefix[data-v-1b935e83]{font-weight:700;width:1.5em;margin-left:12px}.mc-question-header[data-v-d7042536]{display:flex;flex-direction:column;border-radius:12px}.mc-question-header .question-header[data-v-d7042536]{display:flex;align-items:center;padding:10px 15px;background-color:#e1e1e8;border-radius:12px}.mc-question-header .question-header .icon[data-v-d7042536]{height:24px;width:24px;margin-right:8px}.mc-question-header .question-header .header-text[data-v-d7042536]{font-size:18px;font-weight:700;font-family:Arial,sans-serif}.mc-question-header .question-content[data-v-d7042536]{padding:12px 16px;background-color:#fff}.mc-question-header .question-content[data-v-d7042536] p:first-child{margin-top:0}.mc-question-header .question-content[data-v-d7042536] p:last-child{margin-bottom:0}.mc-solution[data-v-cb592ef8]{margin:12px}.mc-solution .solution-content[data-v-cb592ef8]{border-radius:4px;padding:12px 16px;font-size:14px;color:#333}.mc-solution .solution-content[data-v-cb592ef8] p:first-child{margin-top:0}.mc-solution .solution-content[data-v-cb592ef8] p:last-child{margin-bottom:0}.mc-solution .solution-content.correct[data-v-cb592ef8]{background-color:#eef8ea;border:1.5px solid #83c17e}.mc-solution .solution-content.wrong[data-v-cb592ef8]{background-color:#fdecea;border:1.5px solid #f08b83}.multiple-choice[data-v-7715f66b]{border:2px solid rgb(128,124,124);border-radius:8px;margin:20px 0;background-color:#e1e1e8}.multiple-choice .submit-area[data-v-7715f66b]{padding:12px}.multiple-choice .submit-button[data-v-7715f66b]{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-weight:700;cursor:pointer}.multiple-choice .submit-button[data-v-7715f66b]:disabled{background-color:#929292;cursor:not-allowed}
1
+ @charset "UTF-8";.error-wrapper[data-v-4fa940a8]{width:160px;height:90px;display:flex;align-items:center;justify-content:center;color:#882e2e;font-size:12px;border:1px solid #888;border-radius:8px}.tree-render mark{color:inherit;background-color:inherit}.tree-render{min-height:calc(100vh - 232.25px);outline:none;width:100%;box-sizing:border-box}.tree-render ::selection{background-color:#1456f02e}.tree-render{color:#1f2329;letter-spacing:.28px;word-wrap:break-word;font-family:LarkHackSafariFont,LarkEmojiFont,LarkChineseQuote,-apple-system,BlinkMacSystemFont,Helvetica Neue,Tahoma,PingFang SC,Microsoft Yahei,Arial,Hiragino Sans GB,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tree-render code{font-family:Source Code Pro,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Microsoft Yahei}.tree-render h1,.tree-render h2,.tree-render h3,.tree-render h4,.tree-render h5,.tree-render h6{font-weight:600;letter-spacing:-.52px}.tree-render h1 code,.tree-render h2 code,.tree-render h3 code,.tree-render h4 code,.tree-render h5 code,.tree-render h6 code{box-sizing:border-box;margin:0 3px;padding:1px 2px;background-color:#f5f6f7;border-radius:4px;border:1px solid rgb(222,224,227)}.tree-render .doc>h1:first-child{margin-top:22px}.tree-render h1{margin-top:26px;margin-bottom:10px;font-size:26px;line-height:36.4px}.tree-render h2{margin-top:22px;margin-bottom:8px;font-size:22px;line-height:30.8px}.tree-render h3{margin-top:20px;margin-bottom:8px;font-size:20px;line-height:28px}.tree-render h4{margin-top:18px;margin-bottom:8px;font-size:18px;line-height:25.2px}.tree-render h5{margin-top:18px;margin-bottom:8px;font-size:16px;line-height:22.4px}.tree-render h6{margin-top:16px;margin-bottom:8px;font-size:16px;line-height:22.4px}@media screen and (max-width:768px){.tree-render h1{font-size:22px;line-height:200%}.tree-render h2{font-size:19px;line-height:200%}.tree-render h3{font-size:18px;line-height:200%}.tree-render h4{font-size:17px;line-height:200%}.tree-render h5,.tree-render h6{font-size:16px;line-height:200%}}.tree-render hr{border:none;margin:8px 0;height:26px;position:relative}.tree-render hr:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background-color:#1f232926;transform:translateY(-50%)}.tree-render blockquote{border-left:2px solid rgb(187,191,196);padding-left:12px}.tree-render blockquote p{color:#646a73}.tree-render span.math-src div[contenteditable=true]{outline:none}.tree-render p{margin:8px 0;line-height:26px;font-size:16px;font-weight:400;white-space-collapse:break-spaces;text-wrap-mode:wrap}.tree-render p a{color:#336df4;text-decoration:none;cursor:pointer}.tree-render p a:hover{text-decoration:underline;text-decoration-color:#336df4}.tree-render p strong{font-weight:700}.tree-render p em{font-style:italic}.tree-render p del{text-decoration:line-through}.tree-render p u{text-decoration:underline}.tree-render p code{box-sizing:border-box;margin:0 3px;padding:1px 2px;background-color:#f5f6f7;border-radius:4px;border:1px solid rgb(222,224,227)}.tree-render ul{margin-left:22px;margin-top:8px;margin-bottom:8px}.tree-render ul>li::marker{content:"• ";color:#1456f0;font-size:16px}.tree-render ul ul>li::marker{content:"◦ ";color:#1456f0;font-size:16px}.tree-render ul ul ul>li::marker{content:"▪ ";color:#1456f0;font-size:16px}.tree-render ul ul ul ul>li::marker{content:"• ";color:#1456f0;font-size:16px}.tree-render ul ul ul ul ul>li::marker{content:"◦ ";color:#1456f0;font-size:16px}.tree-render li{margin:8px 0}.tree-render ol{margin-left:29px;list-style-type:decimal}.tree-render ol li::marker{color:#1456f0;font-family:Helvetica Neue,Consolas}.tree-render ol ol{list-style-type:lower-alpha}.tree-render ol ol ol{list-style-type:lower-roman}.tree-render ol ol ol ol{list-style-type:decimal}.tree-render ol ol ol ol ol{list-style-type:lower-alpha}.tree-render .tiptap .shiki{border-radius:4px;padding:8px}.tree-render .tiptap .shiki:focus-visible{outline:2px solid transparent;outline-offset:2px}.tree-render pre{padding:24px;border-radius:6px;margin:16px 0;outline:none;box-shadow:#00000029 0 1px 4px;overflow-x:auto;background-color:#f5f6f7}.tree-render pre code{width:100%;outline:none;line-height:22px;font-size:14px}.tree-render pre code span{text-wrap-mode:nowrap}.tree-render .tableWrapper{margin:24px 0;max-width:100%;overflow-x:auto}.tree-render table th,.tree-render table td{min-width:39px;border:1px solid rgb(222,224,227);padding:12px;position:relative}.tree-render table th :not(a.grip-column):not(a.grip-row):nth-child(1),.tree-render table th a.grip-column+:not(a.grip-row):nth-child(2),.tree-render table th a.grip-row+:not(a.grip-column):nth-child(2),.tree-render table th a.grip-column+*:nth-child(3),.tree-render table th a.grip-row+*:nth-child(3),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-child(1),.tree-render table td a.grip-column+:not(a.grip-row):nth-child(2),.tree-render table td a.grip-row+:not(a.grip-column):nth-child(2),.tree-render table td a.grip-column+*:nth-child(3),.tree-render table td a.grip-row+*:nth-child(3){margin-top:0}.tree-render table th :not(a.grip-column):not(a.grip-row):nth-last-child(1),.tree-render table th :not(a.grip-column):not(a.grip-row):nth-last-child(2),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-last-child(1),.tree-render table td :not(a.grip-column):not(a.grip-row):nth-last-child(2){margin-bottom:0}.tree-render table .column-resize-handle{background-color:#1456f0;bottom:0;pointer-events:none;position:absolute;right:-1px;top:0;width:2px}.tree-render table .selectedCell{background-color:#1456f02e!important}.tree-render table .grip-column,.tree-render table .grip-row{display:flex;align-items:center;justify-content:center;position:absolute;z-index:10;background-color:#eff0f1;cursor:pointer}.tree-render table .grip-column{width:100%;height:8px;left:0;top:-8px;margin-left:-1px;margin-top:-1px;border-left:1px solid rgb(239,240,241);border-right:1px solid rgb(239,240,241)}.tree-render table .grip-column:hover,.tree-render table .grip-column.selected{z-index:15}.tree-render table .grip-column:hover:before,.tree-render table .grip-column.selected:before{content:"";width:10px}.tree-render table .grip-column:hover{border-left:1px solid rgb(227,227,227);border-right:1px solid rgb(227,227,227);background-color:#e3e3e3}.tree-render table .grip-column:hover:before{border-bottom:2px dotted rgb(95,95,95)}.tree-render table .grip-column.selected{border-left:1px solid rgb(20,86,240);border-right:1px solid rgb(20,86,240);background-color:#1456f0}.tree-render table .grip-column.selected:before{border-bottom:2px dotted rgb(251,251,251)}.tree-render table .grip-column.first{border-top-left-radius:4px}.tree-render table .grip-column.last{border-top-right-radius:4px}.tree-render table .grip-row{width:8px;height:100%;top:0;left:-8px;margin-top:-1px;margin-left:-1px;border-top:1px solid rgb(239,240,241);border-bottom:1px solid rgb(239,240,241)}.tree-render table .grip-row:hover,.tree-render table .grip-row.selected{z-index:15}.tree-render table .grip-row:hover:before,.tree-render table .grip-row.selected:before{content:"";height:10px}.tree-render table .grip-row:hover{border-top:1px solid rgb(227,227,227);border-bottom:1px solid rgb(227,227,227);background-color:#e3e3e3}.tree-render table .grip-row:hover:before{border-left:2px dotted rgb(95,95,95)}.tree-render table .grip-row.selected{border-top:1px solid rgb(20,86,240);border-bottom:1px solid rgb(20,86,240);background-color:#1456f0}.tree-render table .grip-row.selected:before{border-left:2px dotted rgb(251,251,251)}.tree-render table .grip-row.first{border-top-left-radius:4px}.tree-render table .grip-row.last{border-bottom-left-radius:4px}[data-v-583c080e]{outline:none!important}.attachment-menu[data-v-583c080e]{height:40px;box-sizing:border-box;box-shadow:#1f23291a 0 4px 8px;background-color:#fff;border:1px solid rgb(222,224,227);border-radius:6px;display:flex;align-items:center;justify-content:center;padding:8px 0}.attachment-menu-group[data-v-583c080e]{margin:0!important;padding:0 8px;height:24px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgb(222,224,227)}.attachment-menu-group[data-v-583c080e]:last-child{border-right:none}.attachment-menu-group .attachment-menu-item[data-v-583c080e]:first-child{margin-left:0!important}.attachment-menu-item[data-v-583c080e]{cursor:pointer;width:24px;height:24px;border-radius:4px;margin-left:8px!important;color:#2b2f36;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.attachment-menu-item[data-v-583c080e]:hover{background-color:#1f232914}.attachment-menu-item[data-v-583c080e]:active{background-color:#10101029}.attachment-menu-item[data-v-583c080e]:first-child{margin-left:0}.attachment-menu-item-icon[data-v-583c080e]{width:18px;height:18px}.attachment-fullscreen-dialog-header[data-v-583c080e]{width:100%;height:64px;padding:0;border-bottom:1px solid rgb(222,224,227);box-sizing:border-box;background-color:#fff;display:flex;align-items:center}.attachment-fullscreen-dialog-header-close[data-v-583c080e]{display:flex;align-items:center;border:none;outline:none;background-color:#fff;width:72px;height:30px;margin:0 0 0 12px;padding:4px 8px;border-radius:6px;font-size:16px;color:#1f2329;cursor:pointer}.attachment-fullscreen-dialog-header-close[data-v-583c080e]:hover{background-color:#1f23291a}.attachment-fullscreen-dialog-header-close[data-v-583c080e]:active{background-color:#1f232933}.attachment-fullscreen-dialog-header-close-icon[data-v-583c080e]{margin-right:4px}.attachment-fullscreen-dialog-header-close-text[data-v-583c080e]{margin-left:4px}.attachment-fullscreen-dialog-header-line[data-v-583c080e]{margin-left:8px;margin-right:16px;height:36px;border-right:1px solid rgb(222,224,227)}.attachment-fullscreen-dialog-header-title[data-v-583c080e]{display:flex;align-items:center;max-height:48px;overflow:hidden;max-width:calc(100% - 120px);-webkit-box-flex:1;-ms-flex:1;flex:1}.attachment-fullscreen-dialog-header-title-icon[data-v-583c080e]{margin:6px 14px 6px 0;width:36px;height:36px}.attachment-fullscreen-dialog-header-title-info[data-v-583c080e]{display:flex;flex-direction:column;justify-content:center;line-height:1.7}.attachment-fullscreen-dialog-header-title-info-filename[data-v-583c080e]{color:#1f2329;overflow:hidden;font-size:16px!important;-o-text-overflow:ellipsis;text-overflow:ellipsis;text-align:left;white-space:nowrap}.attachment-fullscreen-dialog-header-title-info-filesize[data-v-583c080e]{color:#646a73;font-size:12px}.attachment-fullscreen-dialog-header-download[data-v-583c080e]{display:flex;justify-content:center;align-items:center;padding:0;border:none;outline:none;margin:0 28px 0 4px;box-sizing:border-box;height:32px;width:80px;border-radius:6px;background-color:#fff;border:1px solid rgb(208,211,214);cursor:pointer;font-size:14px}.attachment-fullscreen-dialog-header-download[data-v-583c080e]:hover{background-color:#f2f3f5}.attachment-fullscreen-dialog-header-download[data-v-583c080e]:active{background-color:#eff0f1}.attachment-fullscreen-dialog-header-download-icon[data-v-583c080e]{margin-right:4px;width:14px;height:14px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-iframe-wrapper[data-v-583c080e]{width:100%;height:calc(100vh - 64px);margin-top:-16px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-iframe-wrapper iframe[data-v-583c080e]{width:100%;height:calc(100% - 2px)}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable[data-v-583c080e]{width:100%;height:calc(100vh - 64px);margin-top:-16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable .attachment-fullscreen-preview-unable-img[data-v-583c080e]{width:120px;height:120px;display:block;margin-bottom:16px}.attachment-fullscreen-dialog .attachment-fullscreen-preview-unable .attachment-fullscreen-preview-unable-text[data-v-583c080e]{font-size:14px;color:#646a73;margin-top:4px;line-height:1.8}.attachment-inline-container[data-v-7c608a16]{display:inline-block;height:100%;box-sizing:border-box;line-height:1.15em;padding:3px 2px;position:relative;cursor:pointer}.attachment-inline-container[data-v-7c608a16]:hover{background-color:#336df41a;border-radius:4px}.attachment-inline-container .attachment-inline-icon[data-v-7c608a16]{width:1.15em;height:1.15em;-webkit-transform:translateY(2px);transform:translateY(2px)}.attachment-inline-container .attachment-inline-text[data-v-7c608a16]{margin-left:2px;color:#1456f0}.attachment-inline-container .attachment-inline-loading[data-v-7c608a16]{color:#77a4e2}.attachment-inline-container .attachment-inline-menu[data-v-7c608a16]{position:absolute;top:-46px;left:var(--v4668c5a8);transform:translate(-50%)}.ai-panel[data-v-487a56a5]{background:#fff;border-radius:8px;border:1px solid #e5e7eb;height:100%;max-height:500px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a}.panel-header[data-v-487a56a5]{padding:12px 16px;background-color:#eff6ff;border-bottom:1px solid #bfdbfe;display:flex;justify-content:space-between;align-items:center}.panel-header .header-title[data-v-487a56a5]{font-size:14px;font-weight:600;color:#1e40af;display:flex;align-items:center;gap:8px}.panel-header .close-btn[data-v-487a56a5]{background:transparent;border:none;cursor:pointer;color:#60a5fa;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;width:24px;height:24px}.panel-header .close-btn svg[data-v-487a56a5]{width:18px;height:18px}.panel-header .close-btn[data-v-487a56a5]:hover{background-color:#ffffff80;color:#1e40af}.panel-loading[data-v-487a56a5],.panel-error[data-v-487a56a5]{padding:32px;text-align:center;color:#6b7280;font-size:13px}.panel-loading .spinner[data-v-487a56a5],.panel-error .spinner[data-v-487a56a5]{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;margin:0 auto 12px;animation:spin-487a56a5 1s linear infinite}.panel-content[data-v-487a56a5]{flex:1;overflow-y:auto;padding:0}.panel-content[data-v-487a56a5]::-webkit-scrollbar{width:4px}.panel-content[data-v-487a56a5]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.content-card[data-v-487a56a5]{padding:16px;border-bottom:1px solid #e5e7eb}.content-card[data-v-487a56a5]:last-child{border-bottom:none}.content-card .card-header[data-v-487a56a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.content-card .card-header .card-title[data-v-487a56a5]{font-size:13px;font-weight:700;color:#6b7280;text-transform:uppercase}.content-card .card-header .badge[data-v-487a56a5]{font-size:12px;background:#f3f4f6;padding:2px 6px;border-radius:4px;color:#6b7280}.summary-card .summary-text[data-v-487a56a5]{font-size:14px;line-height:1.6;color:#374151;text-align:justify;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.summary-card .summary-text.expanded[data-v-487a56a5]{-webkit-line-clamp:unset;overflow:visible}.summary-card .expand-btn[data-v-487a56a5]{margin-top:8px;font-size:12px;color:#2563eb;cursor:pointer}.summary-card .expand-btn[data-v-487a56a5]:hover{text-decoration:underline}.chapter-list[data-v-487a56a5]{display:flex;flex-direction:column;gap:8px}.chapter-item[data-v-487a56a5]{display:flex;gap:12px;padding:8px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .2s}.chapter-item[data-v-487a56a5]:hover{background-color:#f3f4f6;border-color:#e5e7eb}.chapter-item:hover .chapter-index[data-v-487a56a5]{background-color:#fff;color:#2563eb}.chapter-item:hover .chapter-title[data-v-487a56a5]{color:#2563eb}.chapter-item .chapter-index[data-v-487a56a5]{width:20px;height:20px;background-color:#dbeafe;color:#2563eb;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0;margin-top:2px}.chapter-item .chapter-info[data-v-487a56a5]{flex:1;min-width:0}.chapter-item .chapter-info .chapter-title[data-v-487a56a5]{font-size:14px;font-weight:500;color:#374151;margin-bottom:4px}.chapter-item .chapter-info .chapter-time[data-v-487a56a5]{font-size:12px;color:#9ca3af;display:flex;align-items:center;gap:4px}.empty-state[data-v-487a56a5]{text-align:center;color:#9ca3af;font-size:13px;padding:12px 0}@keyframes spin-487a56a5{to{transform:rotate(360deg)}}.attachment-block-container[data-v-6ebf6463]{margin:16px 0}.attachment-block-card-container[data-v-6ebf6463]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;max-width:400px;height:65.14px;box-sizing:border-box;background-color:#fff;border-radius:8px;border:1px solid rgb(222,224,227);cursor:pointer}.attachment-block-card-container[data-v-6ebf6463]:hover{border-color:#c2d4ff;box-shadow:#c2d4ff 0 0 0 1px}.attachment-block-card-container .attachment-block-card-icon[data-v-6ebf6463]{width:48px;height:48px;margin:8px 12px 8px 8px;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-icon .attachment-block-card-icon-svg[data-v-6ebf6463]{width:48px;height:48px}.attachment-block-card-container .attachment-block-card-info[data-v-6ebf6463]{flex:1;display:flex;flex-direction:column;justify-content:center}.attachment-block-card-container .attachment-block-card-info .attachment-block-card-info-name[data-v-6ebf6463]{-webkit-user-select:none;user-select:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;text-align:left;overflow:hidden;color:#1f2329;max-height:44px;max-width:260px;line-height:22px}.attachment-block-card-container .attachment-block-card-info .attachment-block-card-info-size[data-v-6ebf6463]{height:17px;white-space:nowrap;font-size:12px;color:#646a73;-webkit-user-select:none;user-select:none;line-height:1.8}.attachment-block-card-container .attachment-block-card-preview[data-v-6ebf6463]{padding-right:4px;margin:auto;height:48px;display:flex;align-items:center;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper[data-v-6ebf6463]{text-decoration:none;text-overflow:ellipsis;white-space:nowrap;height:34px;width:34px;text-align:center;position:relative;overflow:unset;margin:0 16px;cursor:pointer;padding:4px;line-height:24px;display:flex;justify-content:center;align-items:center;box-sizing:border-box}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper[data-v-6ebf6463]:hover{background-color:#1f232914;border-radius:6px}.attachment-block-card-container .attachment-block-card-preview .attachment-block-card-preview-wrapper .attachment-block-card-preview-btn[data-v-6ebf6463]{height:20px;width:20px}.attachment-block-card-container .attachment-block-card-menu[data-v-6ebf6463]{position:absolute;top:-46px;left:200px;z-index:86;transform:translate(-50%)}.attachment-block-preview-container[data-v-6ebf6463]{position:relative}.attachment-block-preview-container .attachment-block-preview-menu[data-v-6ebf6463]{position:absolute;top:-46px;left:410px;z-index:86;transform:translate(-50%)}.attachment-block-preview-container .video-block-preview-container[data-v-6ebf6463]{display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:16px}.attachment-block-preview-container .video-block-preview-container .video-block-container[data-v-6ebf6463]{position:relative;display:flex;flex-direction:column;gap:16px;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:16px;margin:16px 0;transition:all .3s ease;overflow:visible}.attachment-block-preview-container .video-block-preview-container .video-main-section[data-v-6ebf6463]{flex:1;width:100%;min-width:0;display:flex;flex-direction:column;gap:12px}.attachment-block-preview-container .video-block-preview-container .video-player-wrapper[data-v-6ebf6463]{width:100%;aspect-ratio:16/9;background-color:#000;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.attachment-block-preview-container .video-block-preview-container .video-player-wrapper .video-element[data-v-6ebf6463]{width:100%;height:100%;object-fit:contain}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper[data-v-6ebf6463]{width:100%;aspect-ratio:16/9;background-color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px dashed #e5e7eb}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .uploading-content[data-v-6ebf6463],.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .error-content[data-v-6ebf6463]{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;color:#6b7280}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .error-content[data-v-6ebf6463]{color:#ef4444}.attachment-block-preview-container .video-block-preview-container .video-uploading-wrapper .spinner[data-v-6ebf6463]{width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin-6ebf6463 1s linear infinite}.attachment-block-preview-container .video-block-preview-container .video-toolbar[data-v-6ebf6463]{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px;border-radius:8px;border:1px solid #e5e7eb}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info[data-v-6ebf6463]{display:flex;flex-direction:column}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-title[data-v-6ebf6463]{font-weight:500;color:#111827;font-size:14px}.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-desc[data-v-6ebf6463]{font-size:12px;color:#6b7280}@media(max-width:380px){.attachment-block-preview-container .video-block-preview-container .video-toolbar .toolbar-info .toolbar-desc[data-v-6ebf6463]{display:none}}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn[data-v-6ebf6463]{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;background-color:#2563eb;color:#fff;-webkit-tap-highlight-color:transparent}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn[data-v-6ebf6463]:active{opacity:.9}.attachment-block-preview-container .video-block-preview-container .video-toolbar .ai-toggle-btn.active[data-v-6ebf6463]{background-color:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}.attachment-block-preview-container .video-block-preview-container .video-sidebar-section[data-v-6ebf6463]{width:100%}@media(min-width:768px){.attachment-block-preview-container .video-block-preview-container .video-sidebar-section[data-v-6ebf6463]{position:absolute;top:0;left:100%;margin-left:16px;width:320px;height:auto;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:0;z-index:1;animation:fadeInRight-6ebf6463 .3s ease-out}}@keyframes spin-6ebf6463{to{transform:rotate(360deg)}}@keyframes fadeInRight-6ebf6463{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.attachment-block-preview-container .notVideo-block-preview-container[data-v-6ebf6463]{max-width:820px;border-radius:8px;border:1px solid #dee0e3}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content[data-v-6ebf6463]{height:409px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-iframe[data-v-6ebf6463]{width:100%;height:100%;border-top-left-radius:8px;border-top-right-radius:8px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable[data-v-6ebf6463]{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable .attachment-block-preview-unable-img[data-v-6ebf6463]{width:120px;height:120px;display:block;margin-bottom:16px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-content .attachment-block-preview-unable .attachment-block-preview-unable-text[data-v-6ebf6463]{font-size:14px;color:#646a73;margin-top:4px;line-height:1.8}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-footer[data-v-6ebf6463]{height:42px;box-sizing:border-box;padding:0 12px;display:flex;align-items:center;border-top:1px solid #dee0e3;background-color:#fff}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-footer .attachment-block-preview-icon-svg[data-v-6ebf6463]{width:18px;height:18px;margin-right:8px}.attachment-block-preview-container .notVideo-block-preview-container .attachment-block-preview-dark-bg[data-v-6ebf6463]{background-color:#f2f3f5}p[data-v-550653ec]:empty:before{content:" "}.callout-wrapper[data-v-3695cd3a]{position:relative;margin:16px 0;padding:16px;border-radius:6px;display:flex;flex-direction:row;border-width:1.5px;border-style:solid}.callout-wrapper .callout-icon[data-v-3695cd3a]{font-size:22px;width:26px;height:26px;display:flex;justify-content:center;align-items:center;cursor:default}.callout-wrapper .callout-icon[data-v-3695cd3a]:hover{background-color:#0000001a;border-radius:4px}.callout-wrapper .callout-content[data-v-3695cd3a]{padding-left:12px;display:flex;justify-content:flex-start;flex-direction:column;flex:1;min-width:0;overflow-x:auto}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]{width:100%}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>*:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:first-child>p:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:first-child>p:first-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>div:first-child>pre{margin-top:0}.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>*:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ul>li:last-child>p:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>ol>li:last-child>p:last-child,.callout-wrapper .callout-content .node-view-content[data-v-3695cd3a]>div:last-child>pre{margin-bottom:0}.code-block-wrapper[data-v-3b4ccf2f]{position:relative}.code-block-wrapper .copy-btn[data-v-3b4ccf2f]{position:absolute;top:8px;right:8px;cursor:pointer;border:none;background-color:transparent;padding:0;outline:none;height:20px;width:20px;display:flex;align-items:center;justify-content:center;color:#909090}pre[data-v-6fb1f0d1]{margin:0;padding:0 10px;box-shadow:none;background-color:transparent}.cell-ouput-container[data-v-6fb1f0d1]{margin:20px 0 20px 10px}.jp-error[data-v-6fb1f0d1]{line-height:14px;font-size:14px;overflow-x:auto;overflow-y:hidden}.jp-img[data-v-6fb1f0d1]{max-width:50%;height:auto}.monospace-text[data-v-6fb1f0d1]{font-family:monospace;overflow-y:hidden}.foldBlock-wrapper[data-v-c2512d4e]{position:relative;margin:16px 0;padding:16px;border-radius:6px;display:flex;flex-direction:row;border-width:1.5px;border-style:solid}.foldBlock-wrapper .collapse-icon[data-v-c2512d4e]{cursor:pointer;font-size:22px;position:absolute;top:20.5px;right:2.5px;padding:4px 12px;border-radius:0 6px 0 0;z-index:1;display:flex;align-items:center}.foldBlock-wrapper .foldBlock-icon[data-v-c2512d4e]{font-size:22px;width:26px;height:26px;display:flex;justify-content:center;align-items:center;cursor:default}.foldBlock-wrapper .foldBlock-icon[data-v-c2512d4e]:hover{background-color:#0000001a;border-radius:4px}.foldBlock-wrapper .foldBlock-inner[data-v-c2512d4e]{display:flex;flex-direction:column;flex:1;min-width:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]{padding-left:12px;padding-right:14px;padding-bottom:16px}.foldBlock-wrapper .foldBlock-inner .foldBlock-header p[data-v-c2512d4e]{font-size:20px;font-weight:600}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]{justify-content:flex-start;align-items:center}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]>*:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li:first-child>p[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li[data-v-c2512d4e]:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li:first-child>p[data-v-c2512d4e]:first-child{margin-top:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-header[data-v-c2512d4e]>*:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ul>li:last-child>p[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li[data-v-c2512d4e]:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-header>ol>li:last-child>p[data-v-c2512d4e]:last-child{margin-bottom:0}.foldBlock-wrapper .foldBlock-inner.is-folded .foldBlock-header[data-v-c2512d4e]{padding-bottom:0}.foldBlock-wrapper .foldBlock-inner.is-folded .foldBlock-content[data-v-c2512d4e]{display:none}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]{padding-left:12px;overflow-x:auto}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>*:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:first-child>p:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:first-child>p:first-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>div:first-child>pre{margin-top:0}.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>*:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ul>li:last-child>p:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>ol>li:last-child>p:last-child,.foldBlock-wrapper .foldBlock-inner .foldBlock-content[data-v-c2512d4e]>div:last-child>pre{margin-bottom:0}.dipwap-grid[data-v-c3a47d6f]{display:flex;flex-direction:row;width:calc(100% - 8px);gap:12px;margin:16px 0}.dipwap-grid:hover .dipwap-column[data-v-c3a47d6f]{background-color:#646a730d}.dipwap-grid .dipwap-column[data-v-c3a47d6f]{position:relative;border-radius:8px;min-width:50px;padding:12px;background-color:transparent;transition:background-color .2s ease}.dipwap-grid .dipwap-column[data-v-c3a47d6f]>:nth-child(1){margin-top:0}.dipwap-grid .dipwap-column[data-v-c3a47d6f]>:nth-last-child(1){margin-bottom:0}@media screen and (max-width:768px){.dipwap-grid[data-v-c3a47d6f]{flex-direction:column!important;width:100%}.dipwap-column[data-v-c3a47d6f]{flex:none!important}}iframe.iframe-wrapper[data-v-3e85ed1c]{width:100%;margin:16px 0;aspect-ratio:16/9}.image-container[data-v-99c64624]{display:flex;flex-direction:column;margin-bottom:16px}.image-container .image-wrapper[data-v-99c64624]{position:relative;box-sizing:border-box;border:1px solid transparent;margin-bottom:8px;max-width:100%}.image-container .image-wrapper[data-v-99c64624]:before{content:"";position:absolute;inset:0;border:1px solid;border-color:inherit;pointer-events:none}.image-container .image-wrapper[data-v-99c64624]:hover{cursor:zoom-in}.image-container .image-wrapper[data-v-99c64624]:hover:before{border:2px solid #c2d4ff}.image-container .image-wrapper img[data-v-99c64624]{width:100%;height:100%;-webkit-touch-callout:none}.image-container .image-caption[data-v-99c64624]{all:unset;display:inline;text-align:center;font-size:16px;margin:0 auto;background-color:transparent;width:100%;transition:border-color .3s ease;color:#646a73}.modal-mask[data-v-99c64624]{position:fixed;z-index:100000;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s ease}.modal-mask .modal-close[data-v-99c64624]{position:absolute;top:2rem;right:2rem;width:3rem;height:3rem;line-height:2.8rem;text-align:center;color:#fff;font-size:2rem;font-weight:700;border-radius:50%;z-index:9999;background-color:#00000080;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-mask .modal-body[data-v-99c64624]{display:block;transition:all .3s ease}.modal-mask .modal-footer[data-v-99c64624]{position:absolute;bottom:20px;left:calc(50vw - 80px);display:flex;justify-content:center;align-items:center;width:160px;height:40px;background-color:#00000080;cursor:default;-webkit-user-select:none;user-select:none}.modal-mask .modal-footer .zoom-in[data-v-99c64624],.modal-mask .modal-footer .zoom-out[data-v-99c64624]{width:39px;height:100%;line-height:37px;text-align:center;color:#fff;font-size:30px}.modal-mask .modal-footer .zoom-in[data-v-99c64624]{border-left:1px solid #fff}.modal-mask .modal-footer .zoom-out[data-v-99c64624]{border-right:1px solid #fff}.modal-mask .modal-footer .percentage[data-v-99c64624]{width:80px;height:100%;display:flex;justify-content:center;align-items:center;color:#fff}.modal-mask .modal-footer .prev-image[data-v-99c64624],.modal-mask .modal-footer .next-image[data-v-99c64624]{width:39px;height:100%;line-height:37px;text-align:center;color:#fff;font-size:30px;cursor:pointer;-webkit-user-select:none;user-select:none}.modal-mask .modal-footer .prev-image[data-v-99c64624]{border-right:1px solid #fff}.modal-mask .modal-footer .next-image[data-v-99c64624]{border-left:1px solid #fff}.modal-mask .modal-footer .disabled[data-v-99c64624]{color:#646464;cursor:not-allowed}.modal-enter-from[data-v-99c64624],.modal-leave-to[data-v-99c64624]{opacity:0}.modal-enter-from .modal-body[data-v-99c64624],.modal-leave-to .modal-body[data-v-99c64624]{-webkit-transform:scale(1.1);transform:scale(1.1)}.math-inline[data-v-5812f609]{min-width:1em;min-height:1em;font-size:.95em;font-family:Consolas,Ubuntu Mono,monospace}.math-inline .math-render[data-v-5812f609]{display:inline-block;font-size:.85em}.math-display[data-v-1d66d1b3]{min-width:.95em;min-height:.95em;font-size:.95em;font-family:Consolas,Ubuntu Mono,monospace}.math-display .math-render[data-v-1d66d1b3] .katex-display{margin:0}.mc-choices-header .choices-header-bar[data-v-1b935e83]{display:flex;align-items:center;padding:10px 15px;border-radius:5px;background-color:#e1e1e8}.mc-choices-header .choices-header-bar .header-icon[data-v-1b935e83]{height:24px;width:24px;margin-right:8px}.mc-choices-header .choices-header-bar .header-text[data-v-1b935e83]{font-size:18px;font-weight:700;font-family:Arial,sans-serif}.mc-choices-header .choice-list[data-v-1b935e83]{display:flex;flex-direction:column;background-color:#fff;padding:8px 0}.mc-choices-header .choice-list .choice-item[data-v-1b935e83]{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0 12px}.mc-choices-header .choice-list .choice-item input[type=radio][data-v-1b935e83]{cursor:pointer}.mc-choices-header .choice-list .choice-item .prefix[data-v-1b935e83]{font-weight:700;width:1.5em;margin-left:12px}.mc-question-header[data-v-d7042536]{display:flex;flex-direction:column;border-radius:12px}.mc-question-header .question-header[data-v-d7042536]{display:flex;align-items:center;padding:10px 15px;background-color:#e1e1e8;border-radius:12px}.mc-question-header .question-header .icon[data-v-d7042536]{height:24px;width:24px;margin-right:8px}.mc-question-header .question-header .header-text[data-v-d7042536]{font-size:18px;font-weight:700;font-family:Arial,sans-serif}.mc-question-header .question-content[data-v-d7042536]{padding:12px 16px;background-color:#fff}.mc-question-header .question-content[data-v-d7042536] p:first-child{margin-top:0}.mc-question-header .question-content[data-v-d7042536] p:last-child{margin-bottom:0}.mc-solution[data-v-cb592ef8]{margin:12px}.mc-solution .solution-content[data-v-cb592ef8]{border-radius:4px;padding:12px 16px;font-size:14px;color:#333}.mc-solution .solution-content[data-v-cb592ef8] p:first-child{margin-top:0}.mc-solution .solution-content[data-v-cb592ef8] p:last-child{margin-bottom:0}.mc-solution .solution-content.correct[data-v-cb592ef8]{background-color:#eef8ea;border:1.5px solid #83c17e}.mc-solution .solution-content.wrong[data-v-cb592ef8]{background-color:#fdecea;border:1.5px solid #f08b83}.multiple-choice[data-v-7715f66b]{border:2px solid rgb(128,124,124);border-radius:8px;margin:20px 0;background-color:#e1e1e8}.multiple-choice .submit-area[data-v-7715f66b]{padding:12px}.multiple-choice .submit-button[data-v-7715f66b]{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-weight:700;cursor:pointer}.multiple-choice .submit-button[data-v-7715f66b]:disabled{background-color:#929292;cursor:not-allowed}.tt-video[data-v-a9a25bc8]{margin:24px 0;display:flex;align-items:center;justify-content:center}.tt-video__box[data-v-a9a25bc8]{position:relative;width:90%;border-radius:12px;background:#0f172a;max-width:800px;max-height:600px;overflow:visible}.tt-video__inner[data-v-a9a25bc8]{overflow:hidden;border-radius:12px}.tt-video__player[data-v-a9a25bc8],.tt-video__placeholder[data-v-a9a25bc8]{width:100%;min-height:240px}.tt-video__player[data-v-a9a25bc8]{display:block;background:#000}.tt-video__placeholder[data-v-a9a25bc8]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(135deg,#0f172a,#020617)}.tt-video__aiDock[data-v-a9a25bc8]{position:absolute;right:0;bottom:-56px;z-index:3;display:flex;align-items:center;gap:10px;padding:2px;border-radius:14px;background:#3a3a3ad9;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 22px #00000038}.tt-video__aiLabel[data-v-a9a25bc8]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:9px;background:#757575cc;color:#ffffffe6;font-weight:700;letter-spacing:.3px}.tt-video__aiHint[data-v-a9a25bc8]{opacity:.85}.tt-video__aiBtn[data-v-a9a25bc8]{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#434343e0;color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.tt-video__aiBtn[data-v-a9a25bc8]:hover{border-color:#ffffff42;background:#ffffff1f}.tt-video__aiBtn .icon-ai[data-v-a9a25bc8]{width:22px;height:22px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff1a;font-style:normal}.tt-video__aiBtnText[data-v-a9a25bc8]{font-size:13px;font-weight:600}.video-sidebar-section[data-v-a9a25bc8]{width:100%;z-index:1}@media(min-width:768px){.video-sidebar-section[data-v-a9a25bc8]{position:absolute;top:0;left:100%;margin-left:16px;width:320px;height:auto;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #00000014;padding:0;z-index:1;animation:fadeInRight-a9a25bc8 .3s ease-out}}@keyframes fadeInRight-a9a25bc8{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}
@@ -0,0 +1,9 @@
1
+ import { type HTTPClientType } from '@datawhale/dipwap-render/apis/types';
2
+ import type { PMNode } from '@datawhale/dipwap-types/index';
3
+ type __VLS_Props = {
4
+ node: PMNode;
5
+ axios?: HTTPClientType;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { PMVideo } from '@datawhale/dipwap-types/index';
2
+ type __VLS_Props = {
3
+ node: PMVideo;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const fileMapper: Record<string, any>;
@@ -1,4 +1,14 @@
1
1
  import { type AsyncComponentOptions } from "vue";
2
2
  import type { PMNode } from "@datawhale/dipwap-types/index";
3
3
  export declare const customDefineAsyncComponent: (loader: () => Promise<any>, options?: Partial<AsyncComponentOptions>) => any;
4
- export declare function splitDocIntoMultiPagesByHeading(doc: PMNode): PMNode[];
4
+ interface SplitPageWithMedia {
5
+ subPage: {
6
+ type: string;
7
+ content: PMNode[];
8
+ };
9
+ mediaList: PMNode[];
10
+ }
11
+ export declare function splitDocIntoMultiPagesByHeading(doc: PMNode, options?: {
12
+ extractMedia?: boolean;
13
+ }): (PMNode | SplitPageWithMedia)[];
14
+ export {};
@@ -1,3 +1,4 @@
1
1
  import TreeRender from "./components/TreeRender.vue";
2
+ import Media from "./components/MediaRender.vue";
2
3
  export { splitDocIntoMultiPagesByHeading } from "./components/collections/utils";
3
- export { TreeRender };
4
+ export { TreeRender, Media };
@@ -266,4 +266,14 @@ export type PMIFrame = PMNode<{
266
266
  "block-id": string;
267
267
  };
268
268
  }>;
269
+ export type PMVideo = PMNode<{
270
+ type: "video";
271
+ attrs: {
272
+ src: string;
273
+ width: string;
274
+ status: string;
275
+ "block-id": string;
276
+ tingwuTaskId?: string;
277
+ };
278
+ }>;
269
279
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datawhale/prosemirror-render",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.es.js",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),f=require("./index-ByaYOIDK.cjs"),E=["src","alt"],V=["value"],b=["src","width","height"],z={class:"modal-footer"},M={class:"percentage"},x=e.defineComponent({__name:"Image",props:{node:{}},setup(n){const r=e.inject(f.imageNodesKey,e.ref([])),g=e.computed(()=>{const a=n.node.attrs.width;if(a&&a.endsWith("%")&&!a.startsWith("0")){const l=parseFloat(a.slice(0,-1));return Math.max(Math.min(l,100),10)+"%"}else return"80%"}),s=e.ref(0),i=e.ref(0),u=e.ref(!1),t=e.ref(100),m=e.ref(null),c=e.ref(0),d=e.ref(0),o=e.ref(0);async function v(a){m.value=r.value[a];const l=new Image;l.src=r.value[a].attrs.src,await l.decode(),s.value=l.naturalWidth,i.value=l.height,!(!s.value||!i.value)&&N()}const w=async()=>{o.value=r.value.findIndex(a=>a.attrs.src===n.node.attrs.src),await v(o.value),u.value=!0,document.body.style.overflow="hidden"},y=async()=>{o.value>0&&(o.value-=1,await v(o.value))},p=async()=>{o.value<r.value.length-1&&(o.value+=1,await v(o.value))},N=()=>{const a=window.innerWidth,l=window.innerHeight,h=a*.9/s.value*i.value;h<=l*.9?(c.value=a*.9,d.value=h):(c.value=l*.9/i.value*s.value,d.value=l*.9),t.value=c.value/s.value*100},I=()=>{t.value<=10||(t.value%10!==0?t.value=Math.floor(t.value/10)*10:t.value-=10,c.value=t.value/100*s.value,d.value=t.value/100*i.value)},k=()=>{t.value>=500||(t.value%10!==0?t.value=Math.ceil(t.value/10)*10:t.value+=10,c.value=t.value/100*s.value,d.value=t.value/100*i.value)},C=()=>{u.value=!1,document.body.style.overflow=""};return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:"image-container",style:e.normalizeStyle({alignItems:n.node.attrs.align})},[e.createElementVNode("div",{class:"image-wrapper",style:e.normalizeStyle({width:g.value})},[e.createElementVNode("img",{src:n.node.attrs.src,alt:n.node.attrs.caption?n.node.attrs.caption:"图片",onClick:w},null,8,E)],4),n.node.attrs.caption?(e.openBlock(),e.createElementBlock("input",{key:0,type:"text",class:"image-caption",value:n.node.attrs.caption,disabled:""},null,8,V)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{name:"modal"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{class:"modal-mask",onClick:C},[l[0]||(l[0]=e.createElementVNode("div",{class:"modal-close"},"×",-1)),e.createElementVNode("img",{class:"modal-body",src:m.value?.attrs.src,width:c.value,height:d.value,alt:"图片"},null,8,b),e.createElementVNode("div",z,[e.createElementVNode("div",{class:e.normalizeClass(["prev-image",{disabled:o.value===0}]),onClick:e.withModifiers(y,["stop"])},"‹",2),e.createElementVNode("div",{class:e.normalizeClass(["zoom-out",{disabled:t.value<=10}]),onClick:e.withModifiers(I,["stop"])},"-",2),e.createElementVNode("div",M,e.toDisplayString(t.value.toFixed(0))+"%",1),e.createElementVNode("div",{class:e.normalizeClass(["zoom-in",{disabled:t.value>=500}]),onClick:e.withModifiers(k,["stop"])},"+",2),e.createElementVNode("div",{class:e.normalizeClass(["next-image",{disabled:o.value===e.unref(r).length-1}]),onClick:e.withModifiers(p,["stop"])}," › ",2)])],512),[[e.vShow,u.value]])]),_:1})]))],4))}}),W=f._export_sfc(x,[["__scopeId","data-v-6f968d5a"]]);exports.default=W;