fika-editor 3.2.9 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/embed/{824.js → 6104.js} +18 -18
- package/dist/embed/agentic-manifest.json +46 -10
- package/dist/embed/chunks/1131.js +1 -1
- package/dist/embed/chunks/2407.js +1 -1
- package/dist/embed/chunks/2807.js +1 -1
- package/dist/embed/chunks/3888.js +1 -1
- package/dist/embed/chunks/5216.js +1 -1
- package/dist/embed/chunks/574.js +1 -1
- package/dist/embed/chunks/655.js +1 -0
- package/dist/embed/chunks/862.js +1 -1
- package/dist/embed/chunks/9657.js +1 -1
- package/dist/embed/chunks/9800.js +1 -1
- package/dist/embed/fika-embed.css +1 -1
- package/dist/embed/fika-embed.js +18 -4
- package/dist/layout/types/slides.js +1 -0
- package/dist/layout/utils/resizeDeck.js +257 -0
- package/dist/types/components/Button.d.ts +2 -2
- package/dist/types/configs/theme.d.ts +2 -0
- package/dist/types/embed/agentic/canvasContext.d.ts +4 -0
- package/dist/types/embed/agentic/canvasOperations.d.ts +3 -0
- package/dist/types/embed/agentic/types.d.ts +118 -0
- package/dist/types/embed/index.d.ts +3 -0
- package/dist/types/embed/render.d.ts +4 -0
- package/dist/types/embed/types.d.ts +3 -2
- package/dist/types/hooks/textCreationDefaults.d.ts +2 -0
- package/dist/types/hooks/useAnimationFrameCallback.d.ts +6 -0
- package/dist/types/hooks/useResizeDeck.d.ts +1 -0
- package/dist/types/i18n/cs/myna/index.d.ts +3 -0
- package/dist/types/i18n/en/myna/index.d.ts +3 -0
- package/dist/types/i18n/i18n-react.d.ts +2 -0
- package/dist/types/i18n/i18n-types.d.ts +2888 -1341
- package/dist/types/i18n/i18n-util.async.d.ts +1 -0
- package/dist/types/i18n/i18n-util.d.ts +1 -0
- package/dist/types/i18n/pl/myna/index.d.ts +3 -0
- package/dist/types/i18n/sk/myna/index.d.ts +3 -0
- package/dist/types/paint/slidePainter.d.ts +11 -0
- package/dist/types/store/slides.d.ts +241 -1
- package/dist/types/types/slides.d.ts +53 -0
- package/dist/types/utils/applyDesignTheme.d.ts +1 -1
- package/dist/types/utils/canvasFit.d.ts +17 -0
- package/dist/types/utils/canvasHitTest.d.ts +4 -0
- package/dist/types/utils/designColorRoles.d.ts +10 -0
- package/dist/types/utils/element.d.ts +27 -0
- package/dist/types/utils/elementPaint.d.ts +129 -0
- package/dist/types/utils/frameDomClip.d.ts +3 -0
- package/dist/types/utils/nestedFrames.d.ts +19 -0
- package/dist/types/utils/pageGuides.d.ts +6 -0
- package/dist/types/utils/renderMetrics.d.ts +2 -0
- package/dist/types/utils/resizeDeck.d.ts +11 -0
- package/dist/types/utils/selectInsertedElements.d.ts +2 -0
- package/dist/types/utils/transferPageElements.d.ts +3 -0
- package/dist/types/views/Editor/Canvas/MynaRulers.d.ts +17 -0
- package/dist/types/views/Editor/Canvas/ViewportBackground.d.ts +3 -1
- package/dist/types/views/Editor/Canvas/hooks/useDragElement.d.ts +2 -1
- package/dist/types/views/Editor/Canvas/hooks/useDrop.d.ts +1 -1
- package/dist/types/views/Editor/Canvas/hooks/useViewportSize.d.ts +1 -0
- package/dist/types/views/Editor/Canvas/index.d.ts +4 -1
- package/dist/types/views/Editor/EditorHeader/index.d.ts +4 -2
- package/dist/types/views/Editor/index.d.ts +3 -2
- package/dist/types/views/Myna/MynaAssetsPanel.d.ts +28 -0
- package/dist/types/views/Myna/MynaDownload.d.ts +4 -0
- package/dist/types/views/Myna/MynaDrawer.d.ts +9 -0
- package/dist/types/views/Myna/MynaElementsPanel.d.ts +12 -0
- package/dist/types/views/Myna/MynaFrameTitles.d.ts +6 -0
- package/dist/types/views/Myna/MynaFramesHierarchy.d.ts +1 -0
- package/dist/types/views/Myna/MynaFramesPanel.d.ts +6 -0
- package/dist/types/views/Myna/MynaHeader.d.ts +5 -0
- package/dist/types/views/Myna/MynaInspector.d.ts +2 -0
- package/dist/types/views/Myna/MynaLayersPanel.d.ts +1 -0
- package/dist/types/views/Myna/MynaPageCanvas.d.ts +14 -0
- package/dist/types/views/Myna/MynaPageLayoutControls.d.ts +1 -0
- package/dist/types/views/Myna/MynaPageOutline.d.ts +1 -0
- package/dist/types/views/Myna/MynaPageOverflow.d.ts +9 -0
- package/dist/types/views/Myna/MynaPagesPanel.d.ts +14 -0
- package/dist/types/views/Myna/MynaQrPanel.d.ts +1 -0
- package/dist/types/views/Myna/MynaTemplateLibrary.d.ts +3 -0
- package/dist/types/views/Myna/MynaViewSettings.d.ts +2 -0
- package/dist/types/views/Myna/MynaWorkspace.d.ts +1 -0
- package/dist/types/views/Myna/MynaZoomControl.d.ts +3 -0
- package/dist/types/views/Myna/WorkspaceLabels.d.ts +8 -0
- package/dist/types/views/Myna/WorkspaceObjects.d.ts +9 -0
- package/dist/types/views/Myna/catalog.d.ts +233 -0
- package/dist/types/views/Myna/exportPages.d.ts +2 -0
- package/dist/types/views/Myna/inspectorLabels.d.ts +30 -0
- package/dist/types/views/Myna/libraryMessages.d.ts +28 -0
- package/dist/types/views/Myna/pageLayout.d.ts +22 -0
- package/dist/types/views/Myna/pageSnapping.d.ts +41 -0
- package/dist/types/views/Myna/pdf.d.ts +10 -0
- package/dist/types/views/Myna/photoFrameLabels.d.ts +28 -0
- package/dist/types/views/Myna/photoFrameUpload.d.ts +5 -0
- package/dist/types/views/Myna/photoFrames.d.ts +11 -0
- package/dist/types/views/Myna/qrCode.d.ts +7 -0
- package/dist/types/views/Myna/qrMessages.d.ts +18 -0
- package/dist/types/views/Myna/svg.d.ts +21 -0
- package/dist/types/views/Myna/svgWatermark.d.ts +2 -0
- package/dist/types/views/Myna/templateLibrary.d.ts +26 -0
- package/dist/types/views/Myna/viewStore.d.ts +14 -0
- package/dist/types/views/Myna/workspaceLabels.d.ts +10 -0
- package/dist/types/views/Myna/workspaceSelectors.d.ts +17 -0
- package/docs/AGENTIC_BRIDGE.md +23 -0
- package/docs/EMBED.md +33 -0
- package/docs/MYNA.md +247 -0
- package/package.json +15 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
export const __rspack_esm_id=5216;export const __rspack_esm_ids=[5216];export const __webpack_modules__={48723(e,t,i){i.r(t),i.d(t,{default:()=>x});var n=i(71178),s=i(2476),d=i(51649),o=i(7516),a=i(
|
|
1
|
+
export const __rspack_esm_id=5216;export const __rspack_esm_ids=[5216];export const __webpack_modules__={48723(e,t,i){i.r(t),i.d(t,{default:()=>x});var n=i(71178),s=i(2476),d=i(51649),o=i(7516),a=i(68626),r=i(8733),l=i(38571),c=i(3678),u=i(19436),p=i(72354);let _=(0,s.Q)({"audience-view":"audience-view-cpTCDw","writing-board-overlay":"writing-board-overlay-KPJ0Op","writing-board-content":"writing-board-content-y9fqBv",blackboard:"blackboard-enntzE"});function x(){let e=(0,a.B7)(e=>e.setViewportSize),t=(0,a.B7)(e=>e.setViewportRatio),i=(0,a.B7)(e=>e.setSlides),s=(0,d.useRef)(null),{slideWidth:x,slideHeight:v}=(0,c.A)(s),{execNext:S,execPrev:E,turnSlideToIndex:w,turnSlideToId:I,animationIndex:T,setAnimationIndex:y,restoreAnimationState:R}=(0,l.A)(),[m,b]=(0,d.useState)(!1),[N,A]=(0,d.useState)(!1),[g,h]=(0,d.useState)(""),[f,O]=(0,d.useState)(!1),[k,B]=(0,d.useState)("red"),[j,D]=(0,d.useState)(0),[P,U]=(0,d.useState)(0),V=(0,d.useRef)({execNext:S,execPrev:E,turnSlideToIndex:w,turnSlideToId:I,setAnimationIndex:y,restoreAnimationState:R,setViewportSize:e,setViewportRatio:t,setSlides:i});V.current={execNext:S,execPrev:E,turnSlideToIndex:w,turnSlideToId:I,setAnimationIndex:y,restoreAnimationState:R,setViewportSize:e,setViewportRatio:t,setSlides:i};let X=(0,d.useRef)(null);return(0,d.useEffect)(()=>{let e=new BroadcastChannel("fika-audience-sync");return X.current=e,e.postMessage({type:"REQUEST_STATE"}),e.postMessage({type:"REQUEST_WRITING_BOARD"}),e.onmessage=e=>{let{data:t}=e,i=V.current;"EXEC_NEXT"===t.type?i.execNext():"EXEC_PREV"===t.type?i.execPrev():"TURN_TO_INDEX"===t.type&&void 0!==t.index?i.turnSlideToIndex(t.index):"TURN_TO_ID"===t.type&&void 0!==t.id?i.turnSlideToId(t.id):"INIT_STATE"===t.type&&void 0!==t.slideIndex?((0,o.flushSync)(()=>{void 0!==t.viewportSize&&i.setViewportSize(t.viewportSize),void 0!==t.viewportRatio&&i.setViewportRatio(t.viewportRatio),t.slides&&i.setSlides(t.slides),i.turnSlideToIndex(t.slideIndex),void 0!==t.animationIndex&&i.setAnimationIndex(t.animationIndex)}),void 0!==t.animationIndex&&i.restoreAnimationState(t.animationIndex)):"WRITING_BOARD_UPDATE"===t.type?(b(!0),h(t.dataURL||""),A(t.blackboard||!1)):"WRITING_BOARD_CLOSE"===t.type?(b(!1),h("")):"LASER_PEN_MOVE"===t.type&&void 0!==t.x&&void 0!==t.y?(O(!0),D(t.x),U(t.y),(0,r.cu)(t.color)&&B(t.color)):"LASER_PEN_OFF"===t.type?O(!1):"EXIT"===t.type&&window.close()},()=>{e.close(),X.current=null}},[]),(0,n.jsxs)("div",{ref:s,className:_("audience-view"),children:[(0,n.jsx)(p.A,{slideWidth:x,slideHeight:v,animationIndex:T,turnSlideToId:I,manualExitFullscreen:()=>{}}),m?(0,n.jsx)("div",{className:_("writing-board-overlay"),children:(0,n.jsxs)("div",{className:_("writing-board-content"),style:{width:x+"px",height:v+"px"},children:[N?(0,n.jsx)("div",{className:_("blackboard")}):null,g?(0,n.jsx)("img",{src:g}):null]})}):null,(0,n.jsx)(u.A,{active:f,color:k,remoteX:j,remoteY:P,slideWidth:x,slideHeight:v})]})}}};
|
package/dist/embed/chunks/574.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const __rspack_esm_id=574;export const __rspack_esm_ids=[574];export const __webpack_modules__={81965(e,t,l){l.r(t);var s=l(71178),a=l(51649),d=l(
|
|
1
|
+
export const __rspack_esm_id=574;export const __rspack_esm_ids=[574];export const __webpack_modules__={81965(e,t,l){l.r(t);var s=l(71178),a=l(51649),d=l(68626),r=l(95246),n=l(42852),i=l(34050),o=l(52377),c=l(56799);let u=e=>"mermaid"===e.type;t.default=(0,a.memo)(()=>{let e=(0,d.B7)(),{addHistorySnapshot:t}=(0,n.A)(),[l,_]=(0,a.useState)(!1),[m,p]=(0,a.useState)(""),{element:f,present:E}=(0,i.E)(m,l,u);(0,a.useEffect)(()=>{l&&m&&!E&&(_(!1),p(""))},[l,m,E]);let k=(0,a.useCallback)(e=>{let t=(0,d.Zl)(d.B7.getState()).elements.find(t=>t.id===e);t&&"mermaid"===t.type&&!t.lock&&(p(t.id),_(!0))},[]),b=(0,a.useCallback)(l=>{if(!m)return;let s=(0,d.Zl)(d.B7.getState()).elements.find(e=>e.id===m);s?.type==="mermaid"&&l!==s.code&&(e.updateElement({id:m,props:{code:l}}),t()),_(!1)},[m,e,t]),A=(0,a.useCallback)(()=>_(!1),[]);(0,a.useEffect)(()=>(r.A.on("OPEN_MERMAID_EDITOR",k),()=>{r.A.off("OPEN_MERMAID_EDITOR",k)}),[k]);let x=(0,a.useRef)(m);return l&&m&&(x.current=m),(0,s.jsx)(c.A,{visible:l,onUpdateVisible:_,width:880,children:f?(0,s.jsx)(o.D,{value:f.code,onClose:A,onUpdate:b},x.current):null})})}};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const __rspack_esm_id=655;export const __rspack_esm_ids=[655];export const __webpack_modules__={93554(t,e,i){i.d(e,{exportMynaSvg:()=>C});var a=i(49615),r=i(86239),l=i(84970),o=i(90816),n=i(39581),s=i(14381);let h=t=>t.radius?(0,s.CQ)(t.radius,t.width,t.height):t.outline?.radius?(0,s.lo)(t.outline.radius,t.width,t.height):t.clip?.shape==="roundRect"?(0,s.CQ)(10,t.width,t.height):0,d=t=>{let e=t.clip?.shape;return e&&n.$R[e]?.type||"rect"},p=t=>{let e=t.clip?.shape,i=e?n.$R[e]:void 0;if(i?.type==="polygon"&&i.createPath)return i.createPath(t.width,t.height)};var c=i(17579),m=i(43004),g=i(57147),u=i(3775),$=i(1066),f=i(87239),w=i(57093),x=i(32729),y=i(17585),b=i(10987),v=i(72482);let S=t=>String(t??"").replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]),k=t=>Number.isFinite(t)?+t.toFixed(4):0,M=t=>new Promise((e,i)=>{let a=new FileReader;a.onload=()=>e(String(a.result)),a.onerror=i,a.readAsDataURL(t)});function A(t){let e=document.createElement("canvas").getContext("2d"),i=[],a=[],l="",o="",n=()=>` transform="${S(l)}" opacity="${e.globalAlpha}"`,s={save:()=>{e.save(),a.push(l)},restore:()=>{e.restore(),l=a.pop()||""},translate:(t,e)=>{l+=` translate(${k(t)} ${k(e)})`},rotate:t=>{l+=` rotate(${k(180*t/Math.PI)})`},fillText:(t,a,r)=>{let l=document.createElement("span").style;l.font=e.font;let o=`font-style="${S(l.fontStyle)}" font-weight="${S(l.fontWeight)}" font-size="${S(l.fontSize)}" font-family="${S(l.fontFamily)}"`;i.push(`<text x="${k(a)}" y="${k(r)}" ${o} fill="${S(e.fillStyle)}" letter-spacing="${S(e.letterSpacing||"0px")}" text-anchor="${"right"===e.textAlign?"end":"start"}" xml:space="preserve"${n()}>${S(t)}</text>`)},beginPath:()=>{o=""},moveTo:(t,e)=>{o+=`M${k(t)} ${k(e)}`},lineTo:(t,e)=>{o+=`L${k(t)} ${k(e)}`},stroke:()=>i.push(`<path d="${o}" fill="none" stroke="${S(e.strokeStyle)}" stroke-width="${e.lineWidth}"${n()}/>`),drawImage:(t,e,a,r,l)=>{let o=document.createElement("canvas");o.width=t.width,o.height=t.height,o.getContext("2d").drawImage(t,0,0),i.push(`<image href="${o.toDataURL()}" x="${k(e)}" y="${k(a)}" width="${k(r)}" height="${k(l)}"${n()}/>`)}},h=new Proxy(e,{get:(t,e)=>s[String(e)]||("function"==typeof Reflect.get(t,e)?Reflect.get(t,e).bind(t):Reflect.get(t,e)),set:(t,e,i)=>Reflect.set(t,e,i)});return(0,r.u)(h,t),i.join("")}async function C(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{slide:i,theme:r,viewportSize:n,viewportRatio:C}=t,X=n*C,Y=[],z=[],j=0,P=()=>`fika-svg-${++j}`,F=()=>e.signal?.throwIfAborted();F(),await document.fonts?.ready;let I=e.selectedIds?new Set(e.selectedIds):null,R=new Set(i.elements.filter(t=>I?.has(t.id)&&t.groupId).map(t=>t.groupId)),E=I?new Set((0,a.ly)(i.elements,i.elements.filter(t=>I.has(t.id)||t.groupId&&R.has(t.groupId)).map(t=>t.id))):null,W=i.elements.filter(t=>!E||E.has(t.id));if(!W.length&&I)throw Error("No elements selected for SVG export");let B=I?W.flatMap(t=>{let e=(0,o.a5)([t]),r=(0,a.Kn)(t,i.elements);if(!r)return[e];if(!r.length)return[];let l={minX:Math.max(e.minX,Math.min(...r.map(t=>t.x))),minY:Math.max(e.minY,Math.min(...r.map(t=>t.y))),maxX:Math.min(e.maxX,Math.max(...r.map(t=>t.x))),maxY:Math.min(e.maxY,Math.max(...r.map(t=>t.y)))};return l.maxX>=l.minX&&l.maxY>=l.minY?[l]:[]}):[],T=I&&B.length?{minX:Math.min(...B.map(t=>t.minX)),minY:Math.min(...B.map(t=>t.minY)),maxX:Math.max(...B.map(t=>t.maxX)),maxY:Math.max(...B.map(t=>t.maxY))}:I?(0,o.a5)(W):{minX:0,minY:0,maxX:n,maxY:X},O=I?Math.max(0,...W.map(t=>{let e="line"===t.type?t.width:"outline"in t&&t.outline?.width||0,i="shadow"in t?t.shadow:void 0;return("line"===t.type&&t.points.some(Boolean)?5*e:e/2)+(i?Math.max(Math.abs(i.h),Math.abs(i.v))+2*i.blur:0)})):0,_=T.minX-O,q=T.minY-O,L=Math.max(1,T.maxX-T.minX+2*O),N=Math.max(1,T.maxY-T.minY+2*O),H=new Map,G=t=>t.startsWith("data:")?Promise.resolve(t):(H.has(t)||H.set(t,(async()=>{try{let i=await fetch(t,{signal:e.signal?AbortSignal.any([e.signal,AbortSignal.timeout(15e3)]):AbortSignal.timeout(15e3)});if(!i.ok)throw Error(`${i.status}`);return await M(await i.blob())}catch(i){F();let e=await (0,$.w)()?.(t);if(e?.startsWith("data:"))return e;throw Error(`Cannot embed export image: ${t}`,{cause:i})}})()),H.get(t)),D=t=>{let e=P(),i=t.colors.map(t=>`<stop offset="${t.pos}%" stop-color="${S(t.color)}"/>`).join("");return z.push("radial"===t.type?`<radialGradient id="${e}">${i}</radialGradient>`:`<linearGradient id="${e}" x1="0" y1="0.5" x2="1" y2="0.5" gradientTransform="rotate(${k(t.rotate)} .5 .5)">${i}</linearGradient>`),`url(#${e})`},U=t=>{var e,i;return t?.width?`stroke="${S(t.color)}" stroke-width="${t.width}" stroke-dasharray="${(e=t.style,i=t.width,"dashed"===e?i<=6?[4.5*i,2*i]:[4*i,1.5*i]:"dotted"===e?i<=6?[1.8*i,1.6*i]:[1.5*i,1.2*i]:void 0)?.join(" ")||"none"}"`:'stroke="none"'},V=(t,e,i,a)=>`<rect width="${k(t)}" height="${k(e)}" fill="${S(i||"none")}" ${U(a)}/>`,K=t=>{let e="text"===t.type?t:t.text;if(!e?.content)return"";let a=(0,c.K5)(e.defaultColor||r.fontColor,e.content,{element:t,elements:i.elements,fill:t.fill,background:i.background,fallbackSurface:r.backgroundColor,themeFontColor:r.fontColor}),l="text"===t.type?(0,g.tl)(t,i.type):{vAlign:t.text?.align};return A({html:a.html,x:0,y:0,width:t.width,height:t.height,defaultFontFamily:(0,m.C0)(e.defaultFontName||r.fontName),defaultColor:a.ink,lineHeight:e.lineHeight,letterSpacing:e.wordSpace,paragraphSpace:e.paragraphSpace,inset:e.inset,vAlign:l.vAlign,fit:"text"===t.type?(0,u.j6)(t):!1!==e.fixedHeight,vertical:"text"===t.type&&t.vertical})},Q=async(e,a)=>{Y.push(`${e.name||e.id}: ${a}; embedded as a raster image.`);let r="shadow"in e?e.shadow:void 0,n=Math.max(32,r?Math.max(Math.abs(r.h),Math.abs(r.v))+2*r.blur:0),s=(0,o.a5)([e]),h=s.minX-n,d=s.minY-n,p=Math.max(1,s.maxX-s.minX+2*n),c=Math.max(1,s.maxY-s.minY+2*n),m={...e,left:e.left-h,top:e.top-d},g=await (0,l.t)({...t,slide:{...i,elements:[m],background:void 0},viewportSize:p,viewportRatio:c/p},{width:Math.ceil(2*p),transparentBackground:!0,fullResolutionImages:!0,timeoutMs:15e3});return`<image x="${k(h)}" y="${k(d)}" width="${k(p)}" height="${k(c)}" href="${await M(g.blob)}"/>`},J=t=>{let e=[],i=new Set,a=t.data.length,l=t.colWidths.length,n=t.colWidths.reduce((t,e)=>t+e,0)||1,s=t.colWidths.map(e=>e/n*t.width),h=Math.max(t.cellMinHeight,t.height/a);for(let n=0;n<a;n++){let a=0;for(let d=0;d<l;d++){let l=t.data[n][d],p=s[d];if(!l||i.has(`${n}:${d}`)){a+=p;continue}let g=Math.max(1,l.colspan),u=Math.max(1,l.rowspan),$=s.slice(d,d+g).reduce((t,e)=>t+e,0),f=h*u;for(let t=n;t<n+u;t++)for(let e=d;e<d+g;e++)i.add(`${t}:${e}`);let w=l.style||{},x=t.theme?(0,o.gk)(t.theme.color):void 0;for(let[i,r,l,o,s]of(e.push(`<g transform="translate(${k(a)} ${k(n*h)})">${V($,f,(0,c.mc)(t,n,d)||(x?n%2?x.stripe:x.stripeAlt:"none"))}`),[[w.borderTopWidth,0,0,$,0],[w.borderRightWidth,$,0,$,f],[w.borderBottomWidth,0,f,$,f],[w.borderLeftWidth,0,0,0,f]]))e.push(`<path d="M${r} ${l}L${o} ${s}" ${U({...t.outline,width:i??t.outline?.width})}/>`);let y=P();z.push(`<clipPath id="${y}">${V($,f,"#fff")}</clipPath>`);let b=`font-size:${w.fontsize||"14px"};color:${w.color||r.fontColor};font-family:${w.fontname||r.fontName};text-align:${w.align||"left"};font-weight:${w.bold?"bold":"normal"};font-style:${w.em?"italic":"normal"};text-decoration:${w.underline?"underline":""} ${w.strikethrough?"line-through":""}`;e.push(`<g clip-path="url(#${y})">${A({html:`<p style="${S(b)}">${S(l.text).replace(/\n/g,"<br>")}</p>`,x:0,y:0,width:$,height:f,defaultFontFamily:(0,m.C0)(w.fontname||r.fontName),defaultColor:w.color||r.fontColor,defaultSize:parseFloat(w.fontsize||"14"),lineHeight:1.45,paragraphSpace:0,inset:[10,14,10,14],vAlign:w.vAlign||"middle",align:w.align||"left"})}</g></g>`),a+=p}}return e.join("")},Z=[];if(!I&&!e.transparentBackground){let t=i.background;if(Z.push(V(n,X,t?.type==="gradient"&&t.gradient?D(t.gradient):t?.color||r.backgroundColor||"#fff")),t?.type==="image"&&t.image){let e=await G(t.image.src);if("repeat"===t.image.size){let t=new Image;t.src=e,await t.decode();let i=P();z.push(`<pattern id="${i}" patternUnits="userSpaceOnUse" width="${t.naturalWidth}" height="${t.naturalHeight}"><image href="${S(e)}" width="${t.naturalWidth}" height="${t.naturalHeight}"/></pattern>`),Z.push(V(n,X,`url(#${i})`))}else Z.push(`<image width="${n}" height="${X}" preserveAspectRatio="xMidYMid ${"contain"===t.image.size?"meet":"slice"}" href="${S(e)}"/>`)}}for(let t of(x.Y([b.a]),W)){F();let e=(0,a.Kn)(t,i.elements);if(e&&!e.length)continue;let l="";if(e){let t=P();z.push(`<clipPath id="${t}" clipPathUnits="userSpaceOnUse"><polygon points="${e.map(t=>`${k(t.x)},${k(t.y)}`).join(" ")}"/></clipPath>`),l=t}let n=e=>Z.push(l?`<g clip-path="url(#${l})" data-element-id="${S(t.id)}"${t.groupId?` data-group-id="${S(t.groupId)}"`:""}>${e}</g>`:e);if(t.effects&&Object.keys(t.effects).length||"text"===t.type&&/data-latex|math-inline|math-node/.test(t.content)){n(await Q(t,"Advanced effect or inline mathematics"));continue}let m="",g="",u=`translate(${k(t.left)} ${k(t.top)})`;if("line"!==t.type&&(u+=` rotate(${k(t.rotate||0)} ${k(t.width/2)} ${k(t.height/2)})`,"flipH"in t&&t.flipH&&(u+=` translate(${t.width} 0) scale(-1 1)`),"flipV"in t&&t.flipV&&(u+=` translate(0 ${t.height}) scale(1 -1)`)),"image"!==t.type&&"opacity"in t&&(g+=` opacity="${t.opacity??1}"`),"shadow"in t&&t.shadow){let e=P(),i=t.shadow;z.push(`<filter id="${e}" x="-100%" y="-100%" width="300%" height="300%"><feDropShadow dx="${i.h}" dy="${i.v}" stdDeviation="${i.blur/2}" flood-color="${S(i.color)}"/></filter>`),g+=` filter="url(#${e})"`}switch(t.type){case"text":m=V(t.width,t.height,t.fill||"none",t.outline)+K(t);break;case"shape":{let e=P(),i=`<path d="${S((0,s.js)(t))}" transform="scale(${t.width/t.viewBox[0]} ${t.height/t.viewBox[1]})" fill-rule="evenodd"`;m=`${i} fill="${S(t.gradient?D(t.gradient):t.fill||"none")}" ${U(t.outline)} vector-effect="non-scaling-stroke"/>`,t.pattern&&(z.push(`<clipPath id="${e}">${i}/></clipPath>`),m+=`<image width="${t.width}" height="${t.height}" preserveAspectRatio="xMidYMid slice" href="${S(await G(t.pattern))}" clip-path="url(#${e})"/>`),m+=K(t);break}case"image":{if(t.colorMask||t.filters&&Object.entries(t.filters).some(t=>{let[e,i]=t;return"opacity"!==e&&i&&parseFloat(i)!==(["brightness","contrast","saturate"].includes(e)?i.includes("%")?100:1:0)})){n(await Q(t,"Image color effect"));continue}let e=P(),i=d(t),a=p(t),r="ellipse"===i?`<ellipse cx="${t.width/2}" cy="${t.height/2}" rx="${t.width/2}" ry="${t.height/2}"/>`:a?`<path d="${S(a)}"/>`:`<rect width="${t.width}" height="${t.height}" rx="${h(t)}"/>`;z.push(`<clipPath id="${e}">${r}</clipPath>`);let[[l,o],[s,c]]=t.clip?.range||[[0,0],[100,100]],u=100*t.width/Math.max(.001,s-l),$=100*t.height/Math.max(.001,c-o),f=await G(t.src);m=`<g clip-path="url(#${e})">${function(t,e,i,a,r,l){if(!/^data:image\/svg\+xml[;,]/i.test(t))return null;let o=t.indexOf(","),n=t.slice(0,o).includes(";base64")?new TextDecoder().decode(Uint8Array.from(atob(t.slice(o+1)),t=>t.charCodeAt(0))):decodeURIComponent(t.slice(o+1)),s=new DOMParser().parseFromString(n,"image/svg+xml");if(s.querySelector("parsererror")||"svg"!==s.documentElement.localName)throw Error("Invalid SVG media");let h=s.documentElement;if(h.querySelector("style,foreignObject"))return null;for(let t of h.querySelectorAll("script,foreignObject,iframe,object,embed,animate,animateTransform,set"))t.remove();let d=new Map;for(let t of h.querySelectorAll("[id]")){let i=t.id;d.set(i,`${e}-${d.size}`),t.id=d.get(i)}for(let t of[h,...h.querySelectorAll("*")])for(let e of[...t.attributes]){if(/^on/i.test(e.name)){t.removeAttribute(e.name);continue}let i=e.value;if("href"===e.localName&&!i.startsWith("#")&&!i.startsWith("data:image/")){t.removeAttributeNode(e);continue}for(let[t,e]of d)(i=i.split(`url(#${t})`).join(`url(#${e})`))===`#${t}`&&(i=`#${e}`);t.setAttribute(e.name,i)}for(let t of h.querySelectorAll("style"))t.remove();return h.hasAttribute("viewBox")||h.setAttribute("viewBox",`0 0 ${parseFloat(h.getAttribute("width")||"")||r} ${parseFloat(h.getAttribute("height")||"")||l}`),h.setAttribute("x",String(i)),h.setAttribute("y",String(a)),h.setAttribute("width",String(r)),h.setAttribute("height",String(l)),h.setAttribute("preserveAspectRatio","none"),new XMLSerializer().serializeToString(h)}(f,P(),-u*l/100,-$*o/100,u,$)||`<image x="${-u*l/100}" y="${-$*o/100}" width="${u}" height="${$}" preserveAspectRatio="none" href="${S(f)}"/>`}</g>`,t.outline?.width&&(m+=r.replace("/>",` fill="none" ${U(t.outline)}/>`));let w="opacity"in t&&"number"==typeof t.opacity?t.opacity:1;(t.filters?.opacity||1!==w)&&(g+=` opacity="${w*(t.filters?.opacity?parseFloat(t.filters.opacity)/(t.filters.opacity.includes("%")?100:1):1)}"`);break}case"line":{let e=t.points.map((e,i)=>{if(!e)return"";let a=P();return z.push(`<marker id="${a}" viewBox="0 0 10 10" refX="${"dot"===e?5:9}" refY="5" markerWidth="${"dot"===e?3:5}" markerHeight="${"dot"===e?3:5}" orient="auto-start-reverse">${"dot"===e?`<circle cx="5" cy="5" r="4" fill="${S(t.color)}"/>`:`<path d="M0 0L10 5L0 10Z" fill="${S(t.color)}"/>`}</marker>`),`marker-${i?"end":"start"}="url(#${a})"`}).join(" ");m=`<path d="${S((0,o.QV)(t))}" fill="none" ${U({color:t.color,width:t.width,style:t.style})} ${e}/>`;break}case"table":m=J(t);break;case"chart":{let e=y.Ts(null,null,{renderer:"svg",ssr:!0,width:t.width,height:t.height});try{let a=(0,c.Kb)(t,{background:i.background,fallbackSurface:r.backgroundColor}),l=(0,w.Y1)({type:t.chartType,data:t.data,themeColors:(0,w.kt)(a),textColor:(0,c.gJ)(t,{background:i.background,fallbackSurface:r.backgroundColor,fontColor:r.fontColor}),lineColor:t.lineColor||v.ic,lineSmooth:t.options?.lineSmooth||!1,stack:t.options?.stack||!1,fontSize:t.options?.fontSize,width:t.width}),o=t=>Array.isArray(t)?t.map(o):t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(t=>{let[e,i]=t;return[e,"fontFamily"===e&&"string"==typeof i?i.replace(/"/g,"'"):o(i)]})):t,n=o(l);e.setOption({...n,animation:!1});let s=new DOMParser().parseFromString(e.renderToSVGString(),"image/svg+xml");if(s.querySelector("parsererror"))throw Error("Chart SVG could not be serialized");let h=P(),d=new Map;for(let t of s.querySelectorAll("[id]"))d.set(t.id,`${h}-${d.size}`),t.id=d.get(t.id);for(let t of s.querySelectorAll("*")){for(let e of[...t.attributes]){let i=e.value;for(let[t,e]of d)(i=i.split(`url(#${t})`).join(`url(#${e})`))===`#${t}`&&(i=`#${e}`);"class"===e.name&&(i=i.split(/\s+/).map(t=>`${h}-${t}`).join(" ")),t.setAttribute(e.name,i)}"style"===t.localName&&(t.textContent=(t.textContent||"").replace(/\.(zr[\w-]+)/g,`.${h}-$1`))}m=V(t.width,t.height,t.fill||"none",t.outline)+new XMLSerializer().serializeToString(s.documentElement)}finally{e.dispose()}break}case"latex":if(t.path){m=`<path d="${S(t.path)}" fill="${S(t.color)}" stroke="${S(t.color)}" stroke-width="${t.strokeWidth||0}" transform="scale(${t.width/t.viewBox[0]} ${t.height/t.viewBox[1]})"/>`;break}n(await Q(t,"Typeset mathematics"));continue;default:n(await Q(t,"video"===t.type||"audio"===t.type?"Static media preview":`${t.type} rendering`));continue}n(`<g id="${P()}"${!l?` data-element-id="${S(t.id)}"${t.groupId?` data-group-id="${S(t.groupId)}"`:""}`:""} transform="${u}"${g}><title>${S(t.name||t.type)}</title>${m}</g>`)}F();let tt=P();z.push(`<clipPath id="${tt}"><rect x="${k(_)}" y="${k(q)}" width="${k(L)}" height="${k(N)}"/></clipPath>`);let te=`<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="${k(L)}" height="${k(N)}" viewBox="${k(_)} ${k(q)} ${k(L)} ${k(N)}"><defs>${z.join("")}</defs><g clip-path="url(#${tt})">${Z.join("")}</g></svg>`,ti=new DOMParser().parseFromString(te,"image/svg+xml");if(ti.querySelector("parsererror"))throw Error("SVG export produced invalid XML");let ta=ti.documentElement.lastElementChild,tr=null;for(let t of[...ta.children]){let e=t.getAttribute("data-group-id");if(!e){tr=null;continue}tr&&tr.getAttribute("data-group-id")===e||((tr=ti.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("id",P()),tr.setAttribute("data-group-id",e),ta.insertBefore(tr,t)),tr.appendChild(t)}return te=await (0,f.gg)(new XMLSerializer().serializeToString(ti.documentElement)),F(),{svg:te,blob:new Blob([te],{type:"image/svg+xml"}),width:L,height:N,warnings:Y}}}};
|
package/dist/embed/chunks/862.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const __rspack_esm_id=862;export const __rspack_esm_ids=[862];export const __webpack_modules__={25997(e,r,t){t.r(r),t.d(r,{default:()=>c});var a=t(71178),m=t(24282),n=t(2476),s=t(51649),l=t(36975);let o=(0,n.Q)({"base-element-mermaid":"base-element-mermaid-UNrMTC","rotate-wrapper":"rotate-wrapper-wqKkxX"});var c=(0,s.memo)(e=>{let r,t,n,s,c,d,i,u=(0,m.c)(17),{elementInfo:p}=e;u[0]===Symbol.for("react.memo_cache_sentinel")?(r=o("base-element-mermaid"),u[0]=r):r=u[0];let _=p.top+"px",f=p.left+"px",x=p.width+"px",h=p.height+"px";u[1]!==_||u[2]!==f||u[3]!==x||u[4]!==h?(t={top:_,left:f,width:x,height:h},u[1]=_,u[2]=f,u[3]=x,u[4]=h,u[5]=t):t=u[5],u[6]===Symbol.for("react.memo_cache_sentinel")?(n=o("rotate-wrapper"),u[6]=n):n=u[6];let v=`rotate(${p.rotate}deg)`;return u[7]!==v?(s={transform:v},u[7]=v,u[8]=s):s=u[8],u[9]!==p?(c=(0,a.jsx)(l.A,{elementInfo:p}),u[9]=p,u[10]=c):c=u[10],u[11]!==s||u[12]!==c?(d=(0,a.jsx)("div",{className:n,style:s,children:c}),u[11]=s,u[12]=c,u[13]=d):d=u[13],u[14]!==d||u[15]!==t?(i=(0,a.jsx)("div",{className:r,style:t,children:d}),u[14]=d,u[15]=t,u[16]=i):i=u[16],i})},36975(e,r,t){t.d(r,{A:()=>c});var a=t(71178),m=t(2476),n=t(51649),s=t(
|
|
1
|
+
export const __rspack_esm_id=862;export const __rspack_esm_ids=[862];export const __webpack_modules__={25997(e,r,t){t.r(r),t.d(r,{default:()=>c});var a=t(71178),m=t(24282),n=t(2476),s=t(51649),l=t(36975);let o=(0,n.Q)({"base-element-mermaid":"base-element-mermaid-UNrMTC","rotate-wrapper":"rotate-wrapper-wqKkxX"});var c=(0,s.memo)(e=>{let r,t,n,s,c,d,i,u=(0,m.c)(17),{elementInfo:p}=e;u[0]===Symbol.for("react.memo_cache_sentinel")?(r=o("base-element-mermaid"),u[0]=r):r=u[0];let _=p.top+"px",f=p.left+"px",x=p.width+"px",h=p.height+"px";u[1]!==_||u[2]!==f||u[3]!==x||u[4]!==h?(t={top:_,left:f,width:x,height:h},u[1]=_,u[2]=f,u[3]=x,u[4]=h,u[5]=t):t=u[5],u[6]===Symbol.for("react.memo_cache_sentinel")?(n=o("rotate-wrapper"),u[6]=n):n=u[6];let v=`rotate(${p.rotate}deg)`;return u[7]!==v?(s={transform:v},u[7]=v,u[8]=s):s=u[8],u[9]!==p?(c=(0,a.jsx)(l.A,{elementInfo:p}),u[9]=p,u[10]=c):c=u[10],u[11]!==s||u[12]!==c?(d=(0,a.jsx)("div",{className:n,style:s,children:c}),u[11]=s,u[12]=c,u[13]=d):d=u[13],u[14]!==d||u[15]!==t?(i=(0,a.jsx)("div",{className:r,style:t,children:d}),u[14]=d,u[15]=t,u[16]=i):i=u[16],i})},36975(e,r,t){t.d(r,{A:()=>c});var a=t(71178),m=t(2476),n=t(51649),s=t(48851),l=t(98649);let o=(0,m.Q)({"mermaid-content":"mermaid-content-DQlgGF","mermaid-svg":"mermaid-svg-gJtU3X","mermaid-error":"mermaid-error-MoLYxD"});var c=(0,n.memo)(e=>{let{LL:r}=(0,l.PO)(),t=(0,n.useRef)(r);t.current=r;let[m,c]=(0,n.useState)(""),[d,i]=(0,n.useState)(""),u=(0,n.useRef)(0),p=e.elementInfo.code,_=(0,n.useRef)(e.elementInfo.id);return _.current=e.elementInfo.id,(0,n.useEffect)(()=>{let e=++u.current;(async()=>{try{let r=await (0,s.m6)(p,_.current);if(e!==u.current)return;c(r),i("")}catch(r){if(e!==u.current)return;c(""),i(r instanceof Error?r.message:t.current.components.mermaidEditor.renderFailed())}})()},[p]),(0,a.jsx)("div",{className:o("mermaid-content"),children:m?(0,a.jsx)("div",{className:o("mermaid-svg"),dangerouslySetInnerHTML:{__html:m}}):d?(0,a.jsx)("div",{className:o("mermaid-error"),children:d}):null})})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const __rspack_esm_id=9657;export const __rspack_esm_ids=[9657];export const __webpack_modules__={36975(e,t,r){r.d(t,{A:()=>i});var n=r(71178),l=r(2476),o=r(51649),a=r(
|
|
1
|
+
export const __rspack_esm_id=9657;export const __rspack_esm_ids=[9657];export const __webpack_modules__={36975(e,t,r){r.d(t,{A:()=>i});var n=r(71178),l=r(2476),o=r(51649),a=r(48851),m=r(98649);let s=(0,l.Q)({"mermaid-content":"mermaid-content-DQlgGF","mermaid-svg":"mermaid-svg-gJtU3X","mermaid-error":"mermaid-error-MoLYxD"});var i=(0,o.memo)(e=>{let{LL:t}=(0,m.PO)(),r=(0,o.useRef)(t);r.current=t;let[l,i]=(0,o.useState)(""),[c,d]=(0,o.useState)(""),u=(0,o.useRef)(0),p=e.elementInfo.code,f=(0,o.useRef)(e.elementInfo.id);return f.current=e.elementInfo.id,(0,o.useEffect)(()=>{let e=++u.current;(async()=>{try{let t=await (0,a.m6)(p,f.current);if(e!==u.current)return;i(t),d("")}catch(t){if(e!==u.current)return;i(""),d(t instanceof Error?t.message:r.current.components.mermaidEditor.renderFailed())}})()},[p]),(0,n.jsx)("div",{className:s("mermaid-content"),children:l?(0,n.jsx)("div",{className:s("mermaid-svg"),dangerouslySetInnerHTML:{__html:l}}):c?(0,n.jsx)("div",{className:s("mermaid-error"),children:c}):null})})},48112(e,t,r){r.r(t),r.d(t,{default:()=>d});var n=r(71178),l=r(2476),o=r(51649),a=r(24953),m=r(88268),s=r(95246),i=r(36975);let c=(0,l.Q)({"editable-element-mermaid":"editable-element-mermaid-fIFhTY",lock:"lock-pfDX98","element-content":"element-content-EytUlE","rotate-wrapper":"rotate-wrapper-AJ04Bs"});var d=(0,o.memo)(e=>{let{elementInfo:t,contextmenus:r}=e,l=(0,o.useCallback)(t=>{e.elementInfo.lock||(t.stopPropagation(),e.selectElement((0,a.VQ)(t),e.elementInfo))},[e.elementInfo,e.selectElement]),d=(0,o.useCallback)(()=>{e.elementInfo.lock||s.A.emit("OPEN_MERMAID_EDITOR",e.elementInfo.id)},[e.elementInfo.lock,e.elementInfo.id]);return(0,n.jsx)("div",{className:c("editable-element-mermaid",{lock:t.lock}),style:{top:t.top+"px",left:t.left+"px",width:t.width+"px",height:t.height+"px"},children:(0,n.jsx)("div",{className:c("rotate-wrapper"),style:{transform:`rotate(${t.rotate}deg)`},children:(0,n.jsx)("div",{className:c("element-content"),"data-live-box":!0,style:{width:t.width+"px",height:t.height+"px"},onContextMenu:e=>{e.stopPropagation(),e.preventDefault(),(0,m.L)(e,r)},onMouseDown:e=>{l(e)},onTouchStart:e=>{l(e)},onDoubleClick:()=>{d()},children:(0,n.jsx)(i.A,{elementInfo:t})})})})})}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const __rspack_esm_id=9800;export const __rspack_esm_ids=[9800];export const __webpack_modules__={48859(e,t,r){r.r(t),r.d(t,{default:()=>b});var n=r(71178),s=r(2476),a=r(54670),o=r(51649),l=r(20797),i=r(91621),c=r(
|
|
1
|
+
export const __rspack_esm_id=9800;export const __rspack_esm_ids=[9800];export const __webpack_modules__={48859(e,t,r){r.r(t),r.d(t,{default:()=>b});var n=r(71178),s=r(2476),a=r(54670),o=r(51649),l=r(20797),i=r(91621),c=r(68626),d=r(55487);let u=new Set(["text","image","shape","line","chart","table","latex","mermaid","code","video","audio"]);var f=r(42852),m=r(38518),h=r(70223),p=r(98649);let g=(0,s.Q)({"slide-code-panel":"slide-code-panel-T8X6Nq","resize-handler":"resize-handler-W8Br_8","panel-header":"panel-header-QjQwFN","panel-title":"panel-title-wUs2hE","panel-actions":"panel-actions-b4dY9o","action-btn":"action-btn-_wjRIF","sync-status":"sync-status-KMVnMp",dirty:"dirty-zXyQdN",error:"error-WICLfO","code-editor":"code-editor-X7gxi1","code-editor-host":"code-editor-host-w8Qnvz"});var b=(0,o.memo)(e=>{let t,{LL:s}=(0,p.PO)(),b=(0,c.B7)(c.Zl),y=(0,c.B7)(e=>e.slideIndex),k=(0,d.sk)(e=>e.activeElementIdList),{addHistorySnapshot:x}=(0,f.A)(),C=(0,o.useRef)(null),S=(0,o.useRef)(null),[v,E]=(0,o.useState)(""),[j,w]=(0,o.useState)("synced"),[N,P]=(0,o.useState)(""),[M,R]=(0,o.useState)(""),_=(0,o.useRef)(null),A=(0,o.useRef)(null),L=(0,o.useRef)(null),O=(0,o.useRef)(null),H=(0,o.useRef)(!1),F=(0,o.useRef)(!1),I=(0,o.useRef)(null),J=(0,o.useRef)(null),q=(t=s.editor.slideCodePanel,"error"===j?t.error():"dirty"===j?t.dirty():t.synced()),z=()=>A.current?Promise.resolve(A.current):(I.current||(I.current=Promise.all([r.e(4467),r.e(8252),r.e(5907)]).then(r.bind(r,20750)).then(e=>(A.current=e,L.current=e.StateEffect.define(),O.current=e.createElementHighlightField(L.current),e))),I.current),D=(0,o.useCallback)(()=>{R(""),_.current&&L.current&&_.current.dispatch({effects:L.current.of(null)})},[M]),V=(0,o.useCallback)(()=>{R(""),w("dirty"),P(""),G()},[M,j,N]),T=(0,o.useCallback)(e=>{e.docChanged&&!F.current&&(E(e.state.doc.toString()),V())},[v,V]),B=(0,o.useCallback)(()=>d.sk.getState().setDisableHotkeysState(!0),[]),Q=(0,o.useCallback)(()=>{d.sk.getState().setDisableHotkeysState(!1),G.cancel(),"dirty"===j&&Y()},[j]),$=(0,o.useCallback)(e=>{let t=A.current,r=O.current;if(!t||!r)throw Error("CodeMirror is not loaded");return t.EditorState.create({doc:e,extensions:[t.keymap.of([{key:"Mod-s",preventDefault:!0,run:()=>(G.cancel(),Y(),!0)},{key:"Shift-Alt-f",preventDefault:!0,run:()=>(K(),!0)},t.indentWithTab]),t.basicSetup,t.json(),t.EditorState.tabSize.of(2),t.indentUnit.of(" "),r,t.EditorView.updateListener.of(T),t.EditorView.domEventHandlers({focus:()=>(B(),!1),blur:()=>(Q(),!1)}),t.EditorView.contentAttributes.of({"aria-label":s.editor.slideCodePanel.ariaLabel(),"aria-multiline":"true",autocapitalize:"off",autocomplete:"off",spellcheck:"false"}),t.EditorView.theme({"&":{height:"100%",backgroundColor:"#f8f9fb",color:"#383a42",fontSize:"12px"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:"SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace",lineHeight:"1.55"},".cm-content":{minHeight:"100%",padding:"10px 0",caretColor:"#333"},".cm-line":{padding:"0 12px 0 8px"},".cm-gutters":{borderRight:"1px solid #e6e6e6",backgroundColor:"#f8f9fb",color:"#999"},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:"rgba(24, 24, 27, 0.05)"},".cm-selectionBackground, &.cm-focused .cm-selectionBackground, ::selection":{backgroundColor:"rgba(24, 24, 27, 0.14) !important"},".cm-foldPlaceholder":{border:"1px solid #d9d9d9",backgroundColor:"#fff",color:"#777"},".cm-element-highlight":{borderRadius:"2px",backgroundColor:"rgba(24, 24, 27, 0.12)",boxShadow:"0 0 0 1px rgba(24, 24, 27, 0.28)"}})]})},[T,B,Q,s?.editor?.slideCodePanel]),U=(0,o.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];E(e);let r=_.current,n=A.current;if(r&&n){F.current=!0;try{if(t)return void r.setState($(e));let s=r.state.doc.toString();if(s===e)return;let a=r.state.selection.main;r.dispatch({changes:{from:0,to:s.length,insert:e},selection:{anchor:Math.min(a.anchor,e.length),head:Math.min(a.head,e.length)},annotations:n.Transaction.addToHistory.of(!1)})}finally{F.current=!1}}},[v,$]),W=(0,o.useCallback)(async e=>{R(e),await z(),await et();let t=((e,t)=>{let r=e.indexOf('"elements"');if(r<0)return null;let n=e.indexOf("[",r);if(n<0)return null;let s=1,a=0,o=-1,l=!1,i=!1;for(let r=n+1;r<e.length;r++){let n=e[r];if(l){i?i=!1:"\\"===n?i=!0:'"'===n&&(l=!1);continue}if('"'===n){l=!0;continue}if("["===n)s++;else if("]"===n){if(0==--s)break}else if("{"===n)1===s&&0===a&&(o=r),a++;else if("}"===n&&0==--a&&o>=0){let n=r+1;try{if(JSON.parse(e.slice(o,n)).id===t)return{start:o,end:n}}catch{}o=-1}}return null})(v,e),r=_.current,n=A.current,s=L.current;if(!t||!r||!n||!s)return void D();let a=r.state.doc.lineAt(t.start),o=n.foldable(r.state,a.from,a.to),l=[s.of({from:t.start,to:t.end})];n.foldedRanges(r.state).between(0,r.state.doc.length,(e,r)=>{let s=e<=t.start&&r>=t.start,a=o?.from===e&&o.to===r;(s||a)&&l.push(n.unfoldEffect.of({from:e,to:r}))}),l.push(n.EditorView.scrollIntoView(t.start,{y:"center"})),r.dispatch({selection:{anchor:t.start},effects:l})},[M,v,D]),X=(0,o.useCallback)(function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];U(JSON.stringify(b,null,2),!0),w("synced"),P(""),e&&M?Promise.resolve().then(()=>W(M)):R("")},[U,b,j,N,M,W]);function Y(){let e;try{e=JSON.parse(v)}catch(e){w("error"),P(e instanceof Error?e.message:s.editor.slideCodePanel.parseFailed());return}let t=(e=>{if(!e||"object"!=typeof e||Array.isArray(e))return{ok:!1,message:"Slide must be a JSON object"};if("string"!=typeof e.id||!e.id.trim())return{ok:!1,message:"Slide requires a non-empty string id"};if(!Array.isArray(e.elements))return{ok:!1,message:"Slide requires an elements array"};for(let t=0;t<e.elements.length;t++){let r=e.elements[t];if(!r||"object"!=typeof r||Array.isArray(r))return{ok:!1,message:`Element at index ${t} must be an object`};if("string"!=typeof r.id||!r.id.trim())return{ok:!1,message:`Element at index ${t} requires a non-empty string id`};if("string"!=typeof r.type||!u.has(r.type))return{ok:!1,message:`Element at index ${t} has an unsupported type`};for(let e of["left","top","width","height","rotate"])if("number"!=typeof r[e]||!Number.isFinite(r[e]))return{ok:!1,message:`Element at index ${t} requires a numeric ${e}`}}return{ok:!0,slide:e}})(e);if(!1===t.ok){w("error"),P(t.message);return}if(!(0,i.n4)(b,t.slide)){H.current=!0,c.B7.getState().replaceSlide(t.slide);let e=new Set(t.slide.elements.map(e=>e.id)),r=k.filter(t=>e.has(t));r.length!==k.length&&d.sk.getState().setActiveElementIdList(r),x()}U(JSON.stringify(e,null,2)),w("synced"),P(""),Promise.resolve().then(()=>{H.current=!1,M&&W(M)})}let G=(0,l.s)(Y,500,{trailing:!0}),K=(0,o.useCallback)(()=>{G.cancel();let e=(e=>{try{let t=JSON.parse(e);return{success:!0,value:t,formatted:JSON.stringify(t,null,2)}}catch(e){return{success:!1,message:e instanceof Error?e.message:"Failed to parse JSON"}}})(v);if(!1===e.success){w("error"),P(e.message),h.A.error(s.editor.slideCodePanel.formatFailed());return}U(e.formatted),Y()},[v,j,N,s?.editor?.slideCodePanel,U]),Z=(0,o.useCallback)(async()=>{try{await (0,m.Dk)(v),h.A.success(s.editor.slideCodePanel.copySuccess())}catch{h.A.error(s.editor.slideCodePanel.copyFailed())}},[v,s?.editor?.slideCodePanel]),ee=(0,o.useCallback)(t=>{t.preventDefault();let r=t.pageY,n=e.height,s=C.current?.parentElement?.querySelector(".center-body"),a=Math.min(480,Math.max(120,n+Math.max(0,(s?.offsetHeight||0)-160))),o=t=>{let s=Math.min(a,Math.max(120,n-(t.pageY-r)));e.onUpdateHeight?.(s),_.current?.requestMeasure()},l=()=>J.current?.();J.current?.(),J.current=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l),J.current=null},document.addEventListener("mousemove",o),document.addEventListener("mouseup",l)},[e.height,e.onUpdateHeight]),et=(0,o.useCallback)(async()=>{let e=await z();!_.current&&S.current&&(_.current=new e.EditorView({state:$(v||JSON.stringify(b,null,2)),parent:S.current}))},[$,v,b]);return(0,o.useEffect)(()=>{G.cancel(),X(!1)},[y]),(0,o.useEffect)(()=>{H.current||"synced"!==j||X()},[b]),(0,o.useEffect)(()=>{1===k.length?W(k[0]):D()},[k]),(0,o.useEffect)(()=>{Promise.resolve().then(()=>_.current?.requestMeasure())},[e.height]),(0,o.useEffect)(()=>{(async()=>{X(!1),await et()})()},[]),(0,o.useEffect)(()=>()=>{G.cancel(),J.current?.(),_.current?.destroy(),_.current=null,d.sk.getState().setDisableHotkeysState(!1)},[]),(0,n.jsxs)("section",{className:g("slide-code-panel",e.className),style:e.style,ref:C,"aria-label":s.editor.slideCodePanel.ariaLabel(),children:[(0,n.jsx)("div",{className:g("resize-handler"),onMouseDown:e=>ee(e)}),(0,n.jsxs)("div",{className:g("panel-header"),children:[(0,n.jsxs)("div",{className:g("panel-title"),children:[(0,n.jsx)(a.I,{icon:"code"}),(0,n.jsx)("span",{children:s.editor.slideCodePanel.title({index:y+1})}),(0,n.jsx)("span",{className:g("sync-status",j),title:N,children:q})]}),(0,n.jsxs)("div",{className:g("panel-actions"),children:[(0,n.jsxs)("button",{className:g("action-btn"),type:"button",title:s.editor.slideCodePanel.formatTooltip(),onClick:()=>K(),children:[(0,n.jsx)(a.I,{icon:"braces"}),(0,n.jsx)("span",{children:s.editor.slideCodePanel.format()})]}),(0,n.jsxs)("button",{className:g("action-btn"),type:"button",title:s.editor.slideCodePanel.copyTooltip(),onClick:()=>Z(),children:[(0,n.jsx)(a.I,{icon:"copy"}),(0,n.jsx)("span",{children:s.editor.slideCodePanel.copy()})]}),(0,n.jsxs)("button",{className:g("action-btn","collapse-btn"),type:"button",title:s.editor.slideCodePanel.closeTooltip(),onClick:()=>e.onClose?.(),children:[(0,n.jsx)(a.I,{icon:"chevron-down"}),(0,n.jsx)("span",{children:s.editor.slideCodePanel.close()})]})]})]}),(0,n.jsx)("div",{className:g("code-editor"),children:(0,n.jsx)("div",{ref:S,className:g("code-editor-host")})})]})})}};
|