clawpad 0.3.12 → 0.3.13
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +6 -6
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/react-loadable-manifest.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/ai/write/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/[id]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/record/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/revert/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/changes/run/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/abort/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/pages/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/recent/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/spaces/[space]/pages/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/spaces/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/files/watch/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/detect/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/events/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/features/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/history/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/resolve/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/sessions/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/gateway/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/openclaw/commands/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/settings/search-status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/bootstrap/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/bootstrap-workspace/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/status/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/setup/trigger-onboarding/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/connection/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/connection.html +1 -1
- package/.next/standalone/.next/server/app/settings/connection.rsc +5 -5
- package/.next/standalone/.next/server/app/settings/connection.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/settings/connection.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connection.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/connection.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/connection.segments/settings/connection.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/connection.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/relay/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/relay/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings/relay.html +1 -1
- package/.next/standalone/.next/server/app/settings/relay.rsc +5 -5
- package/.next/standalone/.next/server/app/settings/relay.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/settings/relay.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings/relay.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/relay.segments/settings/relay/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings/relay.segments/settings/relay.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings/relay.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +5 -5
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +5 -5
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +5 -5
- package/.next/standalone/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist/page.js +1 -1
- package/.next/standalone/.next/server/app/waitlist/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/waitlist.html +1 -1
- package/.next/standalone/.next/server/app/waitlist.rsc +4 -4
- package/.next/standalone/.next/server/app/waitlist.segments/_full.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/waitlist.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/waitlist.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/waitlist.segments/waitlist/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/waitlist.segments/waitlist.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/[...path]/page.js +39 -2
- package/.next/standalone/.next/server/app/workspace/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/search/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/workspace/search.html +2 -2
- package/.next/standalone/.next/server/app/workspace/search.rsc +6 -6
- package/.next/standalone/.next/server/app/workspace/search.segments/_full.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/workspace/search.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace/search.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace/search.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace/search.segments/workspace.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace.html +2 -2
- package/.next/standalone/.next/server/app/workspace.rsc +6 -6
- package/.next/standalone/.next/server/app/workspace.segments/_full.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspace.segments/_index.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspace.segments/workspace.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +6 -6
- package/.next/standalone/.next/server/chunks/3251.js +1 -1
- package/.next/standalone/.next/server/chunks/5502.js +1 -1
- package/.next/standalone/.next/server/chunks/7051.js +1 -1
- package/.next/standalone/.next/server/chunks/7174.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/.next/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
- package/.next/standalone/node_modules/baseline-browser-mapping/package.json +8 -4
- package/.next/standalone/package.json +1 -1
- package/.next/static/chunks/1285-9ce20956f9242893.js +9 -0
- package/.next/static/chunks/330-60f33582af3e15a5.js +1 -0
- package/.next/static/chunks/5167-ed3e0bd0cece4b4a.js +1 -0
- package/.next/static/chunks/54a60aa6.867b5520f2f42695.js +79 -0
- package/.next/static/chunks/app/settings/relay/page-1d9c7e4751a0d285.js +1 -0
- package/.next/static/chunks/app/workspace/[...path]/page-463022f5d199eabc.js +38 -0
- package/.next/static/chunks/app/workspace/{layout-9f33c59bd846f401.js → layout-e5fdab2463c57ef5.js} +1 -1
- package/.next/static/chunks/{ba12c10f-4a76b94632273ce4.js → ba12c10f-50aff6e7ca86063d.js} +1 -1
- package/.next/static/chunks/{webpack-c9a7907951504d87.js → webpack-86242326edb60137.js} +1 -1
- package/.next/static/css/aebc553629e4d7c1.css +1 -0
- package/README.md +2 -0
- package/bin/clawpad.js +22 -0
- package/package.json +1 -1
- package/.next/static/chunks/1285-513d0a20b39e5e47.js +0 -9
- package/.next/static/chunks/330-59824510b74e3d59.js +0 -1
- package/.next/static/chunks/4328-1baf4f862559cce8.js +0 -1
- package/.next/static/chunks/54a60aa6.0a0062edc9e33358.js +0 -79
- package/.next/static/chunks/app/settings/relay/page-e0fd8c840d377b11.js +0 -1
- package/.next/static/chunks/app/workspace/[...path]/page-c99cdc1cfdfb0fef.js +0 -1
- package/.next/static/css/7328dda059c2e2c3.css +0 -1
- /package/.next/static/{dE2vgzBfR9CceWwVrnKdq → 6wBTkYweCDZaRJk9nK9iE}/_buildManifest.js +0 -0
- /package/.next/static/{dE2vgzBfR9CceWwVrnKdq → 6wBTkYweCDZaRJk9nK9iE}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[277],{82159:(e,t,n)=>{n.d(t,{BQ:()=>e0,CU:()=>tM,Db:()=>t0,FF:()=>eq,KE:()=>tF,KP:()=>eT,KV:()=>ej,MG:()=>e9,Ms:()=>W,Nx:()=>eS,OX:()=>tU,T7:()=>eM,XO:()=>tC,YY:()=>tO,Yv:()=>t2,Zc:()=>t3,_w:()=>eF,bP:()=>t1,gk:()=>eP,gu:()=>eK,hO:()=>eW,iI:()=>eC,ui:()=>ek,ve:()=>D,xe:()=>eE,zU:()=>eI});var r=n(8242),o=n(97144),i=n(76865),s=n(27050),a=n(42080),l=n(63197),d=n(12894),c=Object.defineProperty,u=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})};function p(e){let{state:t,transaction:n}=e,{selection:r}=n,{doc:o}=n,{storedMarks:i}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return i},get selection(){return r},get doc(){return o},get tr(){return r=n.selection,o=n.doc,i=n.storedMarks,n}}}var h=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:o}=n,i=this.buildProps(o);return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,(...e)=>{let n=t(...e)(i);return o.getMeta("preventDispatch")||this.hasCustomState||r.dispatch(o),n}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s=[],a=!!e,l=e||o.tr,d=()=>(a||!t||l.getMeta("preventDispatch")||this.hasCustomState||i.dispatch(l),s.every(e=>!0===e)),c={...Object.fromEntries(Object.entries(n).map(([e,n])=>[e,(...e)=>{let r=this.buildProps(l,t),o=n(...e)(r);return s.push(o),c}])),run:d};return c}createCan(e){let{rawCommands:t,state:n}=this,r=e||n.tr,o=this.buildProps(r,!1);return{...Object.fromEntries(Object.entries(t).map(([e,t])=>[e,(...e)=>t(...e)({...o,dispatch:void 0})])),chain:()=>this.createChain(r,!1)}}buildProps(e,t=!0){let{rawCommands:n,editor:r,state:o}=this,{view:i}=r,s={tr:e,editor:r,view:i,state:p({state:o,transaction:e}),dispatch:t?()=>void 0:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([e,t])=>[e,(...e)=>t(...e)(s)]))}};return s}},m={};u(m,{blur:()=>f,clearContent:()=>g,clearNodes:()=>y,command:()=>v,createParagraphNear:()=>b,cut:()=>k,deleteCurrentNode:()=>w,deleteNode:()=>M,deleteRange:()=>E,deleteSelection:()=>S,enter:()=>T,exitCode:()=>C,extendMarkRange:()=>j,first:()=>I,focus:()=>V,forEach:()=>F,insertContent:()=>U,insertContentAt:()=>J,joinBackward:()=>Q,joinDown:()=>Y,joinForward:()=>G,joinItemBackward:()=>X,joinItemForward:()=>ee,joinTextblockBackward:()=>et,joinTextblockForward:()=>en,joinUp:()=>Z,keyboardShortcut:()=>eo,lift:()=>es,liftEmptyBlock:()=>ea,liftListItem:()=>el,newlineInCode:()=>ed,resetAttributes:()=>ep,scrollIntoView:()=>eh,selectAll:()=>em,selectNodeBackward:()=>ef,selectNodeForward:()=>eg,selectParentNode:()=>ey,selectTextblockEnd:()=>ev,selectTextblockStart:()=>eb,setContent:()=>ew,setMark:()=>e4,setMeta:()=>e7,setNode:()=>e8,setNodeSelection:()=>e5,setTextDirection:()=>e6,setTextSelection:()=>te,sinkListItem:()=>tt,splitBlock:()=>tr,splitListItem:()=>to,toggleList:()=>ta,toggleMark:()=>tl,toggleNode:()=>td,toggleWrap:()=>tc,undoInputRule:()=>tu,unsetAllMarks:()=>tp,unsetMark:()=>th,unsetTextDirection:()=>tm,updateAttributes:()=>tf,wrapIn:()=>tg,wrapInList:()=>ty});var f=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),null==(n=null==window?void 0:window.getSelection())||n.removeAllRanges())}),!0),g=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),y=()=>({state:e,tr:t,dispatch:n})=>{let{selection:o}=t,{ranges:i}=o;return!n||(i.forEach(({$from:n,$to:o})=>{e.doc.nodesBetween(n.pos,o.pos,(e,n)=>{if(e.type.isText)return;let{doc:o,mapping:i}=t,s=o.resolve(i.map(n)),a=o.resolve(i.map(n+e.nodeSize)),l=s.blockRange(a);if(!l)return;let d=(0,r.jP)(l);if(e.type.isTextblock){let{defaultType:e}=s.parent.contentMatchAt(s.index());t.setNodeMarkup(l.start,e)}(d||0===d)&&t.lift(l,d)})}),!0)},v=e=>t=>e(t),b=()=>({state:e,dispatch:t})=>(0,o.Z1)(e,t),k=(e,t)=>({editor:n,tr:r})=>{let{state:o}=n,s=o.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let a=r.mapping.map(t);return r.insert(a,s.content),r.setSelection(new i.U3(r.doc.resolve(Math.max(a-1,0)))),!0},w=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;let o=e.selection.$anchor;for(let n=o.depth;n>0;n-=1)if(o.node(n).type===r.type){if(t){let t=o.before(n),r=o.after(n);e.delete(t,r).scrollIntoView()}return!0}return!1};function x(e,t){if("string"==typeof e){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var M=e=>({tr:t,state:n,dispatch:r})=>{let o=x(e,n.schema),i=t.selection.$anchor;for(let e=i.depth;e>0;e-=1)if(i.node(e).type===o){if(r){let n=i.before(e),r=i.after(e);t.delete(n,r).scrollIntoView()}return!0}return!1},E=e=>({tr:t,dispatch:n})=>{let{from:r,to:o}=e;return n&&t.delete(r,o),!0},S=()=>({state:e,dispatch:t})=>(0,o.ic)(e,t),T=()=>({commands:e})=>e.keyboardShortcut("Enter"),C=()=>({state:e,dispatch:t})=>(0,o.I$)(e,t);function O(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function $(e,t,n={strict:!0}){let r=Object.keys(t);return!r.length||r.every(r=>n.strict?t[r]===e[r]:O(t[r])?t[r].test(e[r]):t[r]===e[r])}function A(e,t,n={}){return e.find(e=>e.type===t&&$(Object.fromEntries(Object.keys(n).map(t=>[t,e.attrs[t]])),n))}function P(e,t,n={}){return!!A(e,t,n)}function D(e,t,n){var r;if(!e||!t)return;let o=e.parent.childAfter(e.parentOffset);if(o.node&&o.node.marks.some(e=>e.type===t)||(o=e.parent.childBefore(e.parentOffset)),!o.node||!o.node.marks.some(e=>e.type===t)||(n=n||(null==(r=o.node.marks[0])?void 0:r.attrs),!A([...o.node.marks],t,n)))return;let i=o.index,s=e.start()+o.offset,a=i+1,l=s+o.node.nodeSize;for(;i>0&&P([...e.parent.child(i-1).marks],t,n);)i-=1,s-=e.parent.child(i).nodeSize;for(;a<e.parent.childCount&&P([...e.parent.child(a).marks],t,n);)l+=e.parent.child(a).nodeSize,a+=1;return{from:s,to:l}}function N(e,t){if("string"==typeof e){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var j=(e,t={})=>({tr:n,state:r,dispatch:o})=>{let s=N(e,r.schema),{doc:a,selection:l}=n,{$from:d,from:c,to:u}=l;if(o){let e=D(d,s,t);if(e&&e.from<=c&&e.to>=u){let t=i.U3.create(a,e.from,e.to);n.setSelection(t)}}return!0},I=e=>t=>{let n="function"==typeof e?e(t):e;for(let e=0;e<n.length;e+=1)if(n[e](t))return!0;return!1};function R(e){return e instanceof i.U3}function z(e=0,t=0,n=0){return Math.min(Math.max(e,t),n)}function B(e,t=null){if(!t)return null;let n=i.LN.atStart(e),r=i.LN.atEnd(e);if("start"===t||!0===t)return n;if("end"===t)return r;let o=n.from,s=r.to;return"all"===t?i.U3.create(e,z(0,o,s),z(e.content.size,o,s)):i.U3.create(e,z(t,o,s),z(t,o,s))}function L(){return"Android"===navigator.platform||/android/i.test(navigator.userAgent)}function _(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}var V=(e=null,t={})=>({editor:n,view:r,tr:o,dispatch:i})=>{t={scrollIntoView:!0,...t};let s=()=>{(_()||L())&&r.dom.focus(),"u">typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&!_()&&!L()&&r.dom.focus({preventScroll:!0}),requestAnimationFrame(()=>{!n.isDestroyed&&(r.focus(),(null==t?void 0:t.scrollIntoView)&&n.commands.scrollIntoView())})};try{if(r.hasFocus()&&null===e||!1===e)return!0}catch{return!1}if(i&&null===e&&!R(n.state.selection))return s(),!0;let a=B(o.doc,e)||n.state.selection,l=n.state.selection.eq(a);return i&&(l||o.setSelection(a),l&&o.storedMarks&&o.setStoredMarks(o.storedMarks),s()),!0},F=(e,t)=>n=>e.every((e,r)=>t(e,{...n,index:r})),U=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),H=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){let r=t[n];3===r.nodeType&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):1===r.nodeType&&H(r)}return e};function K(e){if("u"<typeof window)throw Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`<body>${e}</body>`;return H(new window.DOMParser().parseFromString(t,"text/html").body)}function q(e,t,n){if(e instanceof s.bP||e instanceof s.FK)return e;n={slice:!0,parseOptions:{},...n};let r="object"==typeof e&&null!==e,o="string"==typeof e;if(r)try{if(Array.isArray(e)&&e.length>0)return s.FK.fromArray(e.map(e=>t.nodeFromJSON(e)));let r=t.nodeFromJSON(e);return n.errorOnInvalidContent&&r.check(),r}catch(r){if(n.errorOnInvalidContent)throw Error("[tiptap error]: Invalid JSON content",{cause:r});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",r),q("",t,n)}if(o){if(n.errorOnInvalidContent){let r=!1,o="",i=new s.Sj({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:e=>(r=!0,o="string"==typeof e?e:e.outerHTML,null)}]}})});if(n.slice?s.S4.fromSchema(i).parseSlice(K(e),n.parseOptions):s.S4.fromSchema(i).parse(K(e),n.parseOptions),n.errorOnInvalidContent&&r)throw Error("[tiptap error]: Invalid HTML content",{cause:Error(`Invalid element found: ${o}`)})}let r=s.S4.fromSchema(t);return n.slice?r.parseSlice(K(e),n.parseOptions).content:r.parse(K(e),n.parseOptions)}return q("",t,n)}function W(e,t,n){let o=e.steps.length-1;if(o<t)return;let s=e.steps[o];if(!(s instanceof r.Ln||s instanceof r.Wg))return;let a=e.mapping.maps[o],l=0;a.forEach((e,t,n,r)=>{0===l&&(l=r)}),e.setSelection(i.LN.near(e.doc.resolve(l),n))}var J=(e,t,n)=>({tr:r,dispatch:o,editor:i})=>{var a;if(o){let o,l;n={parseOptions:i.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let d=e=>{i.emit("contentError",{editor:i,error:e,disableCollaboration:()=>{"collaboration"in i.storage&&"object"==typeof i.storage.collaboration&&i.storage.collaboration&&(i.storage.collaboration.isDisabled=!0)}})},c={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!i.options.enableContentCheck&&i.options.emitContentError)try{q(t,i.schema,{parseOptions:c,errorOnInvalidContent:!0})}catch(e){d(e)}try{o=q(t,i.schema,{parseOptions:c,errorOnInvalidContent:null!=(a=n.errorOnInvalidContent)?a:i.options.enableContentCheck})}catch(e){return d(e),!1}let{from:u,to:p}="number"==typeof e?{from:e,to:e}:{from:e.from,to:e.to},h=!0,m=!0;if((!("type"in o)?o:[o]).forEach(e=>{e.check(),h=!!h&&e.isText&&0===e.marks.length,m=!!m&&e.isBlock}),u===p&&m){let{parent:e}=r.doc.resolve(u);!e.isTextblock||e.type.spec.code||e.childCount||(u-=1,p+=1)}if(h){if(Array.isArray(t))l=t.map(e=>e.text||"").join("");else if(t instanceof s.FK){let e="";t.forEach(t=>{t.text&&(e+=t.text)}),l=e}else l="object"==typeof t&&t&&t.text?t.text:t;r.insertText(l,u,p)}else{l=o;let e=r.doc.resolve(u),t=e.node(),n=0===e.parentOffset,i=t.isText||t.isTextblock,s=t.content.size>0;n&&i&&s&&(u=Math.max(0,u-1)),r.replaceWith(u,p,l)}n.updateSelection&&W(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:u,text:l}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:u,text:l})}return!0},Z=()=>({state:e,dispatch:t})=>(0,o.G2)(e,t),Y=()=>({state:e,dispatch:t})=>(0,o.bh)(e,t),Q=()=>({state:e,dispatch:t})=>(0,o.Qv)(e,t),G=()=>({state:e,dispatch:t})=>(0,o.eT)(e,t),X=()=>({state:e,dispatch:t,tr:n})=>{try{let o=(0,r.N0)(e.doc,e.selection.$from.pos,-1);if(null==o)return!1;return n.join(o,2),t&&t(n),!0}catch{return!1}},ee=()=>({state:e,dispatch:t,tr:n})=>{try{let o=(0,r.N0)(e.doc,e.selection.$from.pos,1);if(null==o)return!1;return n.join(o,2),t&&t(n),!0}catch{return!1}},et=()=>({state:e,dispatch:t})=>(0,o.eB)(e,t),en=()=>({state:e,dispatch:t})=>(0,o._G)(e,t);function er(){return"u">typeof navigator&&/Mac/.test(navigator.platform)}var eo=e=>({editor:t,view:n,tr:r,dispatch:o})=>{let i=(function(e){let t,n,r,o,i=e.split(/-(?!$)/),s=i[i.length-1];"Space"===s&&(s=" ");for(let e=0;e<i.length-1;e+=1){let s=i[e];if(/^(cmd|meta|m)$/i.test(s))o=!0;else if(/^a(lt)?$/i.test(s))t=!0;else if(/^(c|ctrl|control)$/i.test(s))n=!0;else if(/^s(hift)?$/i.test(s))r=!0;else if(/^mod$/i.test(s))_()||er()?o=!0:n=!0;else throw Error(`Unrecognized modifier name: ${s}`)}return t&&(s=`Alt-${s}`),n&&(s=`Ctrl-${s}`),o&&(s=`Meta-${s}`),r&&(s=`Shift-${s}`),s})(e).split(/-(?!$)/),s=i.find(e=>!["Alt","Ctrl","Meta","Shift"].includes(e)),a=new KeyboardEvent("keydown",{key:"Space"===s?" ":s,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:!0,cancelable:!0}),l=t.captureTransaction(()=>{n.someProp("handleKeyDown",e=>e(n,a))});return null==l||l.steps.forEach(e=>{let t=e.map(r.mapping);t&&o&&r.maybeStep(t)}),!0};function ei(e,t,n={}){let{from:r,to:o,empty:i}=e.selection,s=t?x(t,e.schema):null,a=[];e.doc.nodesBetween(r,o,(e,t)=>{if(e.isText)return;let n=Math.max(r,t),i=Math.min(o,t+e.nodeSize);a.push({node:e,from:n,to:i})});let l=o-r,d=a.filter(e=>!s||s.name===e.node.type.name).filter(e=>$(e.node.attrs,n,{strict:!1}));return i?!!d.length:d.reduce((e,t)=>e+t.to-t.from,0)>=l}var es=(e,t={})=>({state:n,dispatch:r})=>{let i=x(e,n.schema);return!!ei(n,i,t)&&(0,o.yY)(n,r)},ea=()=>({state:e,dispatch:t})=>(0,o.iz)(e,t),el=e=>({state:t,dispatch:n})=>{let r=x(e,t.schema);return(0,a.T2)(r)(t,n)},ed=()=>({state:e,dispatch:t})=>(0,o.pC)(e,t);function ec(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function eu(e,t){let n="string"==typeof t?[t]:t;return Object.keys(e).reduce((t,r)=>(n.includes(r)||(t[r]=e[r]),t),{})}var ep=(e,t)=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,a=ec("string"==typeof e?e:e.name,r.schema);if(!a)return!1;"node"===a&&(i=x(e,r.schema)),"mark"===a&&(s=N(e,r.schema));let l=!1;return n.selection.ranges.forEach(e=>{r.doc.nodesBetween(e.$from.pos,e.$to.pos,(e,r)=>{i&&i===e.type&&(l=!0,o&&n.setNodeMarkup(r,void 0,eu(e.attrs,t))),s&&e.marks.length&&e.marks.forEach(i=>{s===i.type&&(l=!0,o&&n.addMark(r,r+e.nodeSize,s.create(eu(i.attrs,t))))})})}),l},eh=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),em=()=>({tr:e,dispatch:t})=>{if(t){let t=new i.i5(e.doc);e.setSelection(t)}return!0},ef=()=>({state:e,dispatch:t})=>(0,o._e)(e,t),eg=()=>({state:e,dispatch:t})=>(0,o.Sd)(e,t),ey=()=>({state:e,dispatch:t})=>(0,o.hy)(e,t),ev=()=>({state:e,dispatch:t})=>(0,o.ec)(e,t),eb=()=>({state:e,dispatch:t})=>(0,o.$f)(e,t);function ek(e,t,n={},r={}){return q(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var ew=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:o,tr:i,dispatch:s,commands:a})=>{let{doc:l}=i;if("full"!==r.preserveWhitespace){let a=ek(e,o.schema,r,{errorOnInvalidContent:null!=t?t:o.options.enableContentCheck});return s&&i.replaceWith(0,l.content.size,a).setMeta("preventUpdate",!n),!0}return s&&i.setMeta("preventUpdate",!n),a.insertContentAt({from:0,to:l.content.size},e,{parseOptions:r,errorOnInvalidContent:null!=t?t:o.options.enableContentCheck})};function ex(e,t){let n=N(t,e.schema),{from:r,to:o,empty:i}=e.selection,s=[];i?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,o,e=>{s.push(...e.marks)});let a=s.find(e=>e.type.name===n.name);return a?{...a.attrs}:{}}function eM(e,t){let n=new r.dL(e);return t.forEach(e=>{e.steps.forEach(e=>{n.step(e)})}),n}function eE(e,t){let n=[];return e.descendants((e,r)=>{t(e)&&n.push({node:e,pos:r})}),n}function eS(e,t,n){let r=[];return e.nodesBetween(t.from,t.to,(e,t)=>{n(e)&&r.push({node:e,pos:t})}),r}function eT(e){return t=>(function(e,t){for(let n=e.depth;n>0;n-=1){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}})(t.$from,e)}function eC(e,t,n){return void 0===e.config[t]&&e.parent?eC(e.parent,t,n):"function"==typeof e.config[t]?e.config[t].bind({...n,parent:e.parent?eC(e.parent,t,n):null}):e.config[t]}function eO(e){return e.map(e=>{let t={name:e.name,options:e.options,storage:e.storage},n=eC(e,"addExtensions",t);return n?[e,...eO(n())]:e}).flat(10)}function e$(e,t){let n=s.ZF.fromSchema(t).serializeFragment(e),r=document.implementation.createHTMLDocument().createElement("div");return r.appendChild(n),r.innerHTML}function eA(e){return"function"==typeof e}function eP(e,t,...n){return eA(e)?t?e.bind(t)(...n):e(...n):e}function eD(e){let t=e.filter(e=>"extension"===e.type);return{baseExtensions:t,nodeExtensions:e.filter(e=>"node"===e.type),markExtensions:e.filter(e=>"mark"===e.type)}}function eN(e){let t=[],{nodeExtensions:n,markExtensions:r}=eD(e),o=[...n,...r],i={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1},s=n.filter(e=>"text"!==e.name).map(e=>e.name),a=r.map(e=>e.name),l=[...s,...a];return e.forEach(e=>{let n={name:e.name,options:e.options,storage:e.storage,extensions:o},r=eC(e,"addGlobalAttributes",n);r&&r().forEach(e=>{(Array.isArray(e.types)?e.types:"*"===e.types?l:"nodes"===e.types?s:"marks"===e.types?a:[]).forEach(n=>{Object.entries(e.attributes).forEach(([e,r])=>{t.push({type:n,name:e,attribute:{...i,...r}})})})})}),o.forEach(e=>{let n={name:e.name,options:e.options,storage:e.storage},r=eC(e,"addAttributes",n);r&&Object.entries(r()).forEach(([n,r])=>{let o={...i,...r};"function"==typeof(null==o?void 0:o.default)&&(o.default=o.default()),(null==o?void 0:o.isRequired)&&(null==o?void 0:o.default)===void 0&&delete o.default,t.push({type:e.name,name:n,attribute:o})})}),t}function ej(...e){return e.filter(e=>!!e).reduce((e,t)=>{let n={...e};return Object.entries(t).forEach(([e,t])=>{if(!n[e]){n[e]=t;return}if("class"===e){let r=t?String(t).split(" "):[],o=n[e]?n[e].split(" "):[],i=r.filter(e=>!o.includes(e));n[e]=[...o,...i].join(" ")}else if("style"===e){let r=t?t.split(";").map(e=>e.trim()).filter(Boolean):[],o=n[e]?n[e].split(";").map(e=>e.trim()).filter(Boolean):[],i=new Map;o.forEach(e=>{let[t,n]=e.split(":").map(e=>e.trim());i.set(t,n)}),r.forEach(e=>{let[t,n]=e.split(":").map(e=>e.trim());i.set(t,n)}),n[e]=Array.from(i.entries()).map(([e,t])=>`${e}: ${t}`).join("; ")}else n[e]=t}),n},{})}function eI(e,t){return t.filter(t=>t.type===e.type.name).filter(e=>e.attribute.rendered).map(t=>t.attribute.renderHTML?t.attribute.renderHTML(e.attrs)||{}:{[t.name]:e.attrs[t.name]}).reduce((e,t)=>ej(e,t),{})}function eR(e,t){return"style"in e?e:{...e,getAttrs:n=>{let r=e.getAttrs?e.getAttrs(n):e.attrs;if(!1===r)return!1;let o=t.reduce((e,t)=>{var r;let o=t.attribute.parseHTML?t.attribute.parseHTML(n):"string"!=typeof(r=n.getAttribute(t.name))?r:r.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(r):"true"===r||"false"!==r&&r;return null==o?e:{...e,[t.name]:o}},{});return{...r,...o}}}}function ez(e){return Object.fromEntries(Object.entries(e).filter(([e,t])=>!("attrs"===e&&function(e={}){return 0===Object.keys(e).length&&e.constructor===Object}(t))&&null!=t))}function eB(e){var t,n;let r={};return!(null==(t=null==e?void 0:e.attribute)?void 0:t.isRequired)&&"default"in((null==e?void 0:e.attribute)||{})&&(r.default=e.attribute.default),(null==(n=null==e?void 0:e.attribute)?void 0:n.validate)!==void 0&&(r.validate=e.attribute.validate),[e.name,r]}function eL(e,t){var n;let r=eN(e),{nodeExtensions:o,markExtensions:i}=eD(e),a=null==(n=o.find(e=>eC(e,"topNode")))?void 0:n.name,l=Object.fromEntries(o.map(n=>{let o=r.filter(e=>e.type===n.name),i={name:n.name,options:n.options,storage:n.storage,editor:t},s=ez({...e.reduce((e,t)=>{let r=eC(t,"extendNodeSchema",i);return{...e,...r?r(n):{}}},{}),content:eP(eC(n,"content",i)),marks:eP(eC(n,"marks",i)),group:eP(eC(n,"group",i)),inline:eP(eC(n,"inline",i)),atom:eP(eC(n,"atom",i)),selectable:eP(eC(n,"selectable",i)),draggable:eP(eC(n,"draggable",i)),code:eP(eC(n,"code",i)),whitespace:eP(eC(n,"whitespace",i)),linebreakReplacement:eP(eC(n,"linebreakReplacement",i)),defining:eP(eC(n,"defining",i)),isolating:eP(eC(n,"isolating",i)),attrs:Object.fromEntries(o.map(eB))}),a=eP(eC(n,"parseHTML",i));a&&(s.parseDOM=a.map(e=>eR(e,o)));let l=eC(n,"renderHTML",i);l&&(s.toDOM=e=>l({node:e,HTMLAttributes:eI(e,o)}));let d=eC(n,"renderText",i);return d&&(s.toText=d),[n.name,s]})),d=Object.fromEntries(i.map(n=>{let o=r.filter(e=>e.type===n.name),i={name:n.name,options:n.options,storage:n.storage,editor:t},s=ez({...e.reduce((e,t)=>{let r=eC(t,"extendMarkSchema",i);return{...e,...r?r(n):{}}},{}),inclusive:eP(eC(n,"inclusive",i)),excludes:eP(eC(n,"excludes",i)),group:eP(eC(n,"group",i)),spanning:eP(eC(n,"spanning",i)),code:eP(eC(n,"code",i)),attrs:Object.fromEntries(o.map(eB))}),a=eP(eC(n,"parseHTML",i));a&&(s.parseDOM=a.map(e=>eR(e,o)));let l=eC(n,"renderHTML",i);return l&&(s.toDOM=e=>l({mark:e,HTMLAttributes:eI(e,o)})),[n.name,s]}));return new s.Sj({topNode:a,nodes:l,marks:d})}function e_(e){return e.sort((e,t)=>{let n=eC(e,"priority")||100,r=eC(t,"priority")||100;return n>r?-1:+(n<r)})}function eV(e){var t;let n=e_(eO(e)),r=Array.from(new Set((t=n.map(e=>e.name)).filter((e,n)=>t.indexOf(e)!==n)));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(e=>`'${e}'`).join(", ")}]. This can lead to issues.`),n}function eF(e,t){return eL(eV(e),t)}function eU(e,t,n){let{from:r,to:o}=t,{blockSeparator:i="\n\n",textSerializers:s={}}=n||{},a="";return e.nodesBetween(r,o,(e,n,l,d)=>{var c;e.isBlock&&n>r&&(a+=i);let u=null==s?void 0:s[e.type.name];if(u)return l&&(a+=u({node:e,pos:n,parent:l,index:d,range:t})),!1;e.isText&&(a+=null==(c=null==e?void 0:e.text)?void 0:c.slice(Math.max(r,n)-n,o-n))}),a}function eH(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,e])=>e.spec.toText).map(([e,t])=>[e,t.spec.toText]))}function eK(e,t){let n=ec("string"==typeof t?t:t.name,e.schema);return"node"===n?function(e,t){let n=x(t,e.schema),{from:r,to:o}=e.selection,i=[];e.doc.nodesBetween(r,o,e=>{i.push(e)});let s=i.reverse().find(e=>e.type.name===n.name);return s?{...s.attrs}:{}}(e,t):"mark"===n?ex(e,t):{}}function eq(e){let t,{mapping:n,steps:r}=e,o=[];return n.maps.forEach((e,t)=>{let i=[];if(e.ranges.length)e.forEach((e,t)=>{i.push({from:e,to:t})});else{let{from:e,to:n}=r[t];if(void 0===e||void 0===n)return;i.push({from:e,to:n})}i.forEach(({from:e,to:r})=>{let i=n.slice(t).map(e,-1),s=n.slice(t).map(r),a=n.invert().map(i,-1),l=n.invert().map(s);o.push({oldRange:{from:a,to:l},newRange:{from:i,to:s}})})}),1===(t=function(e,t=JSON.stringify){let n={};return e.filter(e=>{let r=t(e);return!Object.prototype.hasOwnProperty.call(n,r)&&(n[r]=!0)})}(o)).length?t:t.filter((e,n)=>!t.filter((e,t)=>t!==n).some(t=>e.oldRange.from>=t.oldRange.from&&e.oldRange.to<=t.oldRange.to&&e.newRange.from>=t.newRange.from&&e.newRange.to<=t.newRange.to))}function eW(e,t,n){let r=[];return e===t?n.resolve(e).marks().forEach(t=>{let o=D(n.resolve(e),t.type);o&&r.push({mark:t,...o})}):n.nodesBetween(e,t,(e,t)=>{e&&(null==e?void 0:e.nodeSize)!==void 0&&r.push(...e.marks.map(n=>({from:t,to:t+e.nodeSize,mark:n})))}),r}function eJ(e,t){return t.nodes[e]||t.marks[e]||null}function eZ(e,t,n){return Object.fromEntries(Object.entries(n).filter(([n])=>{let r=e.find(e=>e.type===t&&e.name===n);return!!r&&r.attribute.keepOnSplit}))}function eY(e,t,n={}){let{empty:r,ranges:o}=e.selection,i=t?N(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter(e=>!i||i.name===e.type.name).find(e=>$(e.attrs,n,{strict:!1}));let s=0,a=[];if(o.forEach(({$from:t,$to:n})=>{let r=t.pos,o=n.pos;e.doc.nodesBetween(r,o,(e,t)=>{if(i&&e.inlineContent&&!e.type.allowsMarkType(i))return!1;if(!e.isText&&!e.marks.length)return;let n=Math.max(r,t),l=Math.min(o,t+e.nodeSize);s+=l-n,a.push(...e.marks.map(e=>({mark:e,from:n,to:l})))})}),0===s)return!1;let l=a.filter(e=>!i||i.name===e.mark.type.name).filter(e=>$(e.mark.attrs,n,{strict:!1})).reduce((e,t)=>e+t.to-t.from,0),d=a.filter(e=>!i||e.mark.type!==i&&e.mark.type.excludes(i)).reduce((e,t)=>e+t.to-t.from,0);return(l>0?l+d:l)>=s}function eQ(e,t){return Array.isArray(t)?t.some(t=>("string"==typeof t?t:t.name)===e.name):t}function eG(e,t){let{nodeExtensions:n}=eD(t),r=n.find(t=>t.name===e);if(!r)return!1;let o={name:r.name,options:r.options,storage:r.storage},i=eP(eC(r,"group",o));return"string"==typeof i&&i.split(" ").includes("list")}function eX(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if("hardBreak"===e.type.name)return!0;if(e.isText)return/^\s*$/m.test(null!=(r=e.text)?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(0===e.content.childCount)return!0;if(t){let r=!0;return e.content.forEach(e=>{!1!==r&&(eX(e,{ignoreWhitespace:n,checkChildren:t})||(r=!1))}),r}return!1}function e0(e){return e instanceof i.nh}var e1=class e{constructor(e){this.position=e}static fromJSON(t){return new e(t.position)}toJSON(){return{position:this.position}}};function e2(e,t){let n=t.mapping.mapResult(e.position);return{position:new e1(n.pos),mapResult:n}}function e3(e){return new e1(e)}function e9(e,t,n){let r=e.state.doc.content.size,o=z(t,0,r),i=z(n,0,r),s=e.coordsAtPos(o),a=e.coordsAtPos(i,-1),l=Math.min(s.top,a.top),d=Math.max(s.bottom,a.bottom),c=Math.min(s.left,a.left),u=Math.max(s.right,a.right),p={top:l,bottom:d,left:c,right:u,width:u-c,height:d-l,x:c,y:l};return{...p,toJSON:()=>p}}var e4=(e,t={})=>({tr:n,state:r,dispatch:o})=>{let{selection:i}=n,{empty:s,ranges:a}=i,l=N(e,r.schema);if(o)if(s){let e=ex(r,l);n.addStoredMark(l.create({...e,...t}))}else a.forEach(e=>{let o=e.$from.pos,i=e.$to.pos;r.doc.nodesBetween(o,i,(e,r)=>{let s=Math.max(r,o),a=Math.min(r+e.nodeSize,i);e.marks.find(e=>e.type===l)?e.marks.forEach(e=>{l===e.type&&n.addMark(s,a,l.create({...e.attrs,...t}))}):n.addMark(s,a,l.create(t))})});return function(e,t,n){var r;let{selection:o}=t,i=null;if(R(o)&&(i=o.$cursor),i){let t=null!=(r=e.storedMarks)?r:i.marks();return i.parent.type.allowsMarkType(n)&&(!!n.isInSet(t)||!t.some(e=>e.type.excludes(n)))}let{ranges:s}=o;return s.some(({$from:t,$to:r})=>{let o=0===t.depth&&e.doc.inlineContent&&e.doc.type.allowsMarkType(n);return e.doc.nodesBetween(t.pos,r.pos,(e,t,r)=>{if(o)return!1;if(e.isInline){let t=!r||r.type.allowsMarkType(n),i=!!n.isInSet(e.marks)||!e.marks.some(e=>e.type.excludes(n));o=t&&i}return!o}),o})}(r,n,l)},e7=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),e8=(e,t={})=>({state:n,dispatch:r,chain:i})=>{let s,a=x(e,n.schema);return(n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),a.isTextblock)?i().command(({commands:e})=>!!(0,o.y_)(a,{...s,...t})(n)||e.clearNodes()).command(({state:e})=>(0,o.y_)(a,{...s,...t})(e,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},e5=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,r=z(e,0,n.content.size),o=i.nh.create(n,r);t.setSelection(o)}return!0},e6=(e,t)=>({tr:n,state:r,dispatch:o})=>{let i,s,{selection:a}=r;return"number"==typeof t?(i=t,s=t):t&&"from"in t&&"to"in t?(i=t.from,s=t.to):(i=a.from,s=a.to),o&&n.doc.nodesBetween(i,s,(t,r)=>{t.isText||n.setNodeMarkup(r,void 0,{...t.attrs,dir:e})}),!0},te=e=>({tr:t,dispatch:n})=>{if(n){let{doc:n}=t,{from:r,to:o}="number"==typeof e?{from:e,to:e}:e,s=i.U3.atStart(n).from,a=i.U3.atEnd(n).to,l=z(r,s,a),d=z(o,s,a),c=i.U3.create(n,l,d);t.setSelection(c)}return!0},tt=e=>({state:t,dispatch:n})=>{let r=x(e,t.schema);return(0,a.$B)(r)(t,n)};function tn(e,t){let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){let r=n.filter(e=>null==t?void 0:t.includes(e.type.name));e.tr.ensureMarks(r)}}var tr=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:o,editor:s})=>{let{selection:a,doc:l}=t,{$from:d,$to:c}=a,u=eZ(s.extensionManager.attributes,d.node().type.name,d.node().attrs);if(a instanceof i.nh&&a.node.isBlock)return!!d.parentOffset&&!!(0,r.zy)(l,d.pos)&&(o&&(e&&tn(n,s.extensionManager.splittableMarks),t.split(d.pos).scrollIntoView()),!0);if(!d.parent.isBlock)return!1;let p=c.parentOffset===c.parent.content.size,h=0===d.depth?void 0:function(e){for(let t=0;t<e.edgeCount;t+=1){let{type:n}=e.edge(t);if(n.isTextblock&&!n.hasRequiredAttrs())return n}return null}(d.node(-1).contentMatchAt(d.indexAfter(-1))),m=p&&h?[{type:h,attrs:u}]:void 0,f=(0,r.zy)(t.doc,t.mapping.map(d.pos),1,m);if(!m&&!f&&(0,r.zy)(t.doc,t.mapping.map(d.pos),1,h?[{type:h}]:void 0)&&(f=!0,m=h?[{type:h,attrs:u}]:void 0),o){if(f&&(a instanceof i.U3&&t.deleteSelection(),t.split(t.mapping.map(d.pos),1,m),h&&!p&&!d.parentOffset&&d.parent.type!==h)){let e=t.mapping.map(d.before()),n=t.doc.resolve(e);d.node(-1).canReplaceWith(n.index(),n.index()+1,h)&&t.setNodeMarkup(t.mapping.map(d.before()),h)}e&&tn(n,s.extensionManager.splittableMarks),t.scrollIntoView()}return f},to=(e,t={})=>({tr:n,state:o,dispatch:a,editor:l})=>{var d;let c=x(e,o.schema),{$from:u,$to:p}=o.selection,h=o.selection.node;if(h&&h.isBlock||u.depth<2||!u.sameParent(p))return!1;let m=u.node(-1);if(m.type!==c)return!1;let f=l.extensionManager.attributes;if(0===u.parent.content.size&&u.node(-1).childCount===u.indexAfter(-1)){if(2===u.depth||u.node(-3).type!==c||u.index(-2)!==u.node(-2).childCount-1)return!1;if(a){let e=s.FK.empty,r=u.index(-1)?1:u.index(-2)?2:3;for(let t=u.depth-r;t>=u.depth-3;t-=1)e=s.FK.from(u.node(t).copy(e));let o=u.indexAfter(-1)<u.node(-2).childCount?1:u.indexAfter(-2)<u.node(-3).childCount?2:3,a={...eZ(f,u.node().type.name,u.node().attrs),...t},l=(null==(d=c.contentMatch.defaultType)?void 0:d.createAndFill(a))||void 0;e=e.append(s.FK.from(c.createAndFill(null,l)||void 0));let p=u.before(u.depth-(r-1));n.replace(p,u.after(-o),new s.Ji(e,4-r,0));let h=-1;n.doc.nodesBetween(p,n.doc.content.size,(e,t)=>{if(h>-1)return!1;e.isTextblock&&0===e.content.size&&(h=t+1)}),h>-1&&n.setSelection(i.U3.near(n.doc.resolve(h))),n.scrollIntoView()}return!0}let g=p.pos===u.end()?m.contentMatchAt(0).defaultType:null,y={...eZ(f,m.type.name,m.attrs),...t},v={...eZ(f,u.node().type.name,u.node().attrs),...t};n.delete(u.pos,p.pos);let b=g?[{type:c,attrs:y},{type:g,attrs:v}]:[{type:c,attrs:y}];if(!(0,r.zy)(n.doc,u.pos,2))return!1;if(a){let{selection:e,storedMarks:t}=o,{splittableMarks:r}=l.extensionManager,i=t||e.$to.parentOffset&&e.$from.marks();if(n.split(u.pos,2,b).scrollIntoView(),!i||!a)return!0;let s=i.filter(e=>r.includes(e.type.name));n.ensureMarks(s)}return!0},ti=(e,t)=>{let n=eT(e=>e.type===t)(e.selection);if(!n)return!0;let o=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(void 0===o)return!0;let i=e.doc.nodeAt(o);return!(n.node.type===(null==i?void 0:i.type)&&(0,r.n9)(e.doc,n.pos))||(e.join(n.pos),!0)},ts=(e,t)=>{let n=eT(e=>e.type===t)(e.selection);if(!n)return!0;let o=e.doc.resolve(n.start).after(n.depth);if(void 0===o)return!0;let i=e.doc.nodeAt(o);return!(n.node.type===(null==i?void 0:i.type)&&(0,r.n9)(e.doc,o))||(e.join(o),!0)},ta=(e,t,n,r={})=>({editor:o,tr:i,state:s,dispatch:a,chain:l,commands:d,can:c})=>{let{extensions:u,splittableMarks:p}=o.extensionManager,h=x(e,s.schema),m=x(t,s.schema),{selection:f,storedMarks:g}=s,{$from:y,$to:v}=f,b=y.blockRange(v),k=g||f.$to.parentOffset&&f.$from.marks();if(!b)return!1;let w=eT(e=>eG(e.type.name,u))(f);if(b.depth>=1&&w&&b.depth-w.depth<=1){if(w.node.type===h)return d.liftListItem(m);if(eG(w.node.type.name,u)&&h.validContent(w.node.content)&&a)return l().command(()=>(i.setNodeMarkup(w.pos,h),!0)).command(()=>ti(i,h)).command(()=>ts(i,h)).run()}return n&&k&&a?l().command(()=>{let e=c().wrapInList(h,r),t=k.filter(e=>p.includes(e.type.name));return i.ensureMarks(t),!!e||d.clearNodes()}).wrapInList(h,r).command(()=>ti(i,h)).command(()=>ts(i,h)).run():l().command(()=>!!c().wrapInList(h,r)||d.clearNodes()).wrapInList(h,r).command(()=>ti(i,h)).command(()=>ts(i,h)).run()},tl=(e,t={},n={})=>({state:r,commands:o})=>{let{extendEmptyMarkRange:i=!1}=n,s=N(e,r.schema);return eY(r,s,t)?o.unsetMark(s,{extendEmptyMarkRange:i}):o.setMark(s,t)},td=(e,t,n={})=>({state:r,commands:o})=>{let i,s=x(e,r.schema),a=x(t,r.schema),l=ei(r,s,n);return(r.selection.$anchor.sameParent(r.selection.$head)&&(i=r.selection.$anchor.parent.attrs),l)?o.setNode(a,i):o.setNode(s,{...i,...n})},tc=(e,t={})=>({state:n,commands:r})=>{let o=x(e,n.schema);return ei(n,o,t)?r.lift(o):r.wrapIn(o,t)},tu=()=>({state:e,dispatch:t})=>{let n=e.plugins;for(let r=0;r<n.length;r+=1){let o,i=n[r];if(i.spec.isInputRules&&(o=i.getState(e))){if(t){let t=e.tr,n=o.transform;for(let e=n.steps.length-1;e>=0;e-=1)t.step(n.steps[e].invert(n.docs[e]));if(o.text){let n=t.doc.resolve(o.from).marks();t.replaceWith(o.from,o.to,e.schema.text(o.text,n))}else t.delete(o.from,o.to)}return!0}}return!1},tp=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,{empty:r,ranges:o}=n;return!!r||(t&&o.forEach(t=>{e.removeMark(t.$from.pos,t.$to.pos)}),!0)},th=(e,t={})=>({tr:n,state:r,dispatch:o})=>{var i;let{extendEmptyMarkRange:s=!1}=t,{selection:a}=n,l=N(e,r.schema),{$from:d,empty:c,ranges:u}=a;if(!o)return!0;if(c&&s){let{from:e,to:t}=a,r=null==(i=d.marks().find(e=>e.type===l))?void 0:i.attrs,o=D(d,l,r);o&&(e=o.from,t=o.to),n.removeMark(e,t,l)}else u.forEach(e=>{n.removeMark(e.$from.pos,e.$to.pos,l)});return n.removeStoredMark(l),!0},tm=e=>({tr:t,state:n,dispatch:r})=>{let o,i,{selection:s}=n;return"number"==typeof e?(o=e,i=e):e&&"from"in e&&"to"in e?(o=e.from,i=e.to):(o=s.from,i=s.to),r&&t.doc.nodesBetween(o,i,(e,n)=>{if(e.isText)return;let r={...e.attrs};delete r.dir,t.setNodeMarkup(n,void 0,r)}),!0},tf=(e,t={})=>({tr:n,state:r,dispatch:o})=>{let i=null,s=null,a=ec("string"==typeof e?e:e.name,r.schema);if(!a)return!1;"node"===a&&(i=x(e,r.schema)),"mark"===a&&(s=N(e,r.schema));let l=!1;return n.selection.ranges.forEach(e=>{let a,d,c,u,p=e.$from.pos,h=e.$to.pos;n.selection.empty?r.doc.nodesBetween(p,h,(e,t)=>{i&&i===e.type&&(l=!0,c=Math.max(t,p),u=Math.min(t+e.nodeSize,h),a=t,d=e)}):r.doc.nodesBetween(p,h,(e,r)=>{r<p&&i&&i===e.type&&(l=!0,c=Math.max(r,p),u=Math.min(r+e.nodeSize,h),a=r,d=e),r>=p&&r<=h&&(i&&i===e.type&&(l=!0,o&&n.setNodeMarkup(r,void 0,{...e.attrs,...t})),s&&e.marks.length&&e.marks.forEach(i=>{if(s===i.type&&(l=!0,o)){let o=Math.max(r,p),a=Math.min(r+e.nodeSize,h);n.addMark(o,a,s.create({...i.attrs,...t}))}}))}),d&&(void 0!==a&&o&&n.setNodeMarkup(a,void 0,{...d.attrs,...t}),s&&d.marks.length&&d.marks.forEach(e=>{s===e.type&&o&&n.addMark(c,u,s.create({...e.attrs,...t}))}))}),l},tg=(e,t={})=>({state:n,dispatch:r})=>{let i=x(e,n.schema);return(0,o.Im)(i,t)(n,r)},ty=(e,t={})=>({state:n,dispatch:r})=>{let o=x(e,n.schema);return(0,a.Sd)(o,t)(n,r)},tv=class{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){let n=this.callbacks[e];return n&&n.forEach(e=>e.apply(this,t)),this}off(e,t){let n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(e=>e!==t):delete this.callbacks[e]),this}once(e,t){let n=(...r)=>{this.off(e,n),t.apply(this,r)};return this.on(e,n)}removeAllListeners(){this.callbacks={}}},tb=class{constructor(e){var t;this.find=e.find,this.handler=e.handler,this.undoable=null==(t=e.undoable)||t}};function tk(e){var t;let{editor:n,from:r,to:o,text:i,rules:s,plugin:a}=e,{view:l}=n;if(l.composing)return!1;let d=l.state.doc.resolve(r);if(d.parent.type.spec.code||(null==(t=d.nodeBefore||d.nodeAfter)?void 0:t.marks.find(e=>e.type.spec.code)))return!1;let c=!1,u=((e,t=500)=>{let n="",r=e.parentOffset;return e.parent.nodesBetween(Math.max(0,r-t),r,(e,t,o,i)=>{var s,a;let l=(null==(a=(s=e.type.spec).toText)?void 0:a.call(s,{node:e,pos:t,parent:o,index:i}))||e.textContent||"%leaf%";n+=e.isAtom&&!e.isText?l:l.slice(0,Math.max(0,r-t))}),n})(d)+i;return s.forEach(e=>{if(c)return;let t=((e,t)=>{if(O(t))return t.exec(e);let n=t(e);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=e,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r})(u,e.find);if(!t)return;let s=l.state.tr,d=p({state:l.state,transaction:s}),m={from:r-(t[0].length-i.length),to:o},{commands:f,chain:g,can:y}=new h({editor:n,state:d});null!==e.handler({state:d,range:m,match:t,commands:f,chain:g,can:y})&&s.steps.length&&(e.undoable&&s.setMeta(a,{transform:s,from:r,to:o,text:i}),l.dispatch(s),c=!0)}),c}function tw(e){return"Object"===Object.prototype.toString.call(e).slice(8,-1)&&e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}var tx=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...eP(eC(this,"addOptions",{name:this.name}))||{}}}get storage(){return{...eP(eC(this,"addStorage",{name:this.name,options:this.options}))||{}}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>(function e(t,n){let r={...t};return tw(t)&&tw(n)&&Object.keys(n).forEach(o=>{tw(n[o])&&tw(t[o])?r[o]=e(t[o],n[o]):r[o]=n[o]}),r})(this.options,e)});return t.name=this.name,t.parent=this.parent,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},tM=class e extends tx{constructor(){super(...arguments),this.type="mark"}static create(t={}){return new e("function"==typeof t?t():t)}static handleExit({editor:e,mark:t}){let{tr:n}=e.state,r=e.state.selection.$from;if(r.pos===r.end()){let o=r.marks();if(!o.find(e=>(null==e?void 0:e.type.name)===t.name))return!1;let i=o.find(e=>(null==e?void 0:e.type.name)===t.name);return i&&n.removeStoredMark(i),n.insertText(" ",r.pos),e.view.dispatch(n),!0}return!1}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},tE=class{constructor(e){this.find=e.find,this.handler=e.handler}},tS=null,tT=class{constructor(e,t){this.splittableMarks=[],this.editor=t,this.baseExtensions=e,this.extensions=eV(e),this.schema=eL(this.extensions,t),this.setupExtensions()}get commands(){return this.extensions.reduce((e,t)=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:eJ(t.name,this.schema)},r=eC(t,"addCommands",n);return r?{...e,...r()}:e},{})}get plugins(){let{editor:e}=this;return e_([...this.extensions].reverse()).flatMap(t=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:eJ(t.name,this.schema)},r=[],o=eC(t,"addKeyboardShortcuts",n),a={};if("mark"===t.type&&eC(t,"exitable",n)&&(a.ArrowRight=()=>tM.handleExit({editor:e,mark:t})),o){let t=Object.fromEntries(Object.entries(o()).map(([t,n])=>[t,()=>n({editor:e})]));a={...a,...t}}let l=(0,d.w)(a);r.push(l);let c=eC(t,"addInputRules",n);if(eQ(t,e.options.enableInputRules)&&c){let t=c();if(t&&t.length){let n=function(e){let{editor:t,rules:n}=e,r=new i.k_({state:{init:()=>null,apply(e,o,i){let a=e.getMeta(r);if(a)return a;let l=e.getMeta("applyInputRules");return l&&setTimeout(()=>{let{text:e}=l;"string"==typeof e||(e=e$(s.FK.from(e),i.schema));let{from:o}=l,a=o+e.length;tk({editor:t,from:o,to:a,text:e,rules:n,plugin:r})}),e.selectionSet||e.docChanged?null:o}},props:{handleTextInput:(e,o,i,s)=>tk({editor:t,from:o,to:i,text:s,rules:n,plugin:r}),handleDOMEvents:{compositionend:e=>(setTimeout(()=>{let{$cursor:o}=e.state.selection;o&&tk({editor:t,from:o.pos,to:o.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(e,o){if("Enter"!==o.key)return!1;let{$cursor:i}=e.state.selection;return!!i&&tk({editor:t,from:i.pos,to:i.pos,text:"\n",rules:n,plugin:r})}},isInputRules:!0});return r}({editor:e,rules:t}),o=Array.isArray(n)?n:[n];r.push(...o)}}let u=eC(t,"addPasteRules",n);if(eQ(t,e.options.enablePasteRules)&&u){let t=u();if(t&&t.length){let n=function(e){let t,{editor:n,rules:r}=e,o=null,a=!1,l=!1,d="u">typeof ClipboardEvent?new ClipboardEvent("paste"):null;try{t="u">typeof DragEvent?new DragEvent("drop"):null}catch{t=null}let c=({state:e,from:r,to:o,rule:i,pasteEvt:s})=>{let a=e.tr;if(function(e){let{editor:t,state:n,from:r,to:o,rule:i,pasteEvent:s,dropEvent:a}=e,{commands:l,chain:d,can:c}=new h({editor:t,state:n}),u=[];return n.doc.nodesBetween(r,o,(e,t)=>{var p,h,m,f,g;if((null==(h=null==(p=e.type)?void 0:p.spec)?void 0:h.code)||!(e.isText||e.isTextblock||e.isInline))return;let y=null!=(g=null!=(f=null==(m=e.content)?void 0:m.size)?f:e.nodeSize)?g:0,v=Math.max(r,t),b=Math.min(o,t+y);v>=b||((e,t,n)=>{if(O(t))return[...e.matchAll(t)];let r=t(e,n);return r?r.map(t=>{let n=[t.text];return n.index=t.index,n.input=e,n.data=t.data,t.replaceWith&&(t.text.includes(t.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),n.push(t.replaceWith)),n}):[]})(e.isText?e.text||"":e.textBetween(v-t,b-t,void 0,""),i.find,s).forEach(e=>{if(void 0===e.index)return;let t=v+e.index+1,r=t+e[0].length,o={from:n.tr.mapping.map(t),to:n.tr.mapping.map(r)},p=i.handler({state:n,range:o,match:e,commands:l,chain:d,can:c,pasteEvent:s,dropEvent:a});u.push(p)})}),u.every(e=>null!==e)}({editor:n,state:p({state:e,transaction:a}),from:Math.max(r-1,0),to:o.b-1,rule:i,pasteEvent:s,dropEvent:t})&&a.steps.length){try{t="u">typeof DragEvent?new DragEvent("drop"):null}catch{t=null}return d="u">typeof ClipboardEvent?new ClipboardEvent("paste"):null,a}};return r.map(e=>new i.k_({view(e){let t=t=>{var r;(o=(null==(r=e.dom.parentElement)?void 0:r.contains(t.target))?e.dom.parentElement:null)&&(tS=n)},r=()=>{tS&&(tS=null)};return window.addEventListener("dragstart",t),window.addEventListener("dragend",r),{destroy(){window.removeEventListener("dragstart",t),window.removeEventListener("dragend",r)}}},props:{handleDOMEvents:{drop:(e,n)=>{if(l=o===e.dom.parentElement,t=n,!l){let e=tS;(null==e?void 0:e.isEditable)&&setTimeout(()=>{let t=e.state.selection;t&&e.commands.deleteRange({from:t.from,to:t.to})},10)}return!1},paste:(e,t)=>{var n;let r=null==(n=t.clipboardData)?void 0:n.getData("text/html");return d=t,a=!!(null==r?void 0:r.includes("data-pm-slice")),!1}}},appendTransaction:(t,n,r)=>{let o=t[0],i="paste"===o.getMeta("uiEvent")&&!a,u="drop"===o.getMeta("uiEvent")&&!l,p=o.getMeta("applyPasteRules"),h=!!p;if(!i&&!u&&!h)return;if(h){var m,f;let t,{text:n}=p;"string"==typeof n||(n=e$(s.FK.from(n),r.schema));let{from:o}=p,i=o+n.length;return c({rule:e,state:r,from:o,to:{b:i},pasteEvt:(m=n,null==(f=(t=new ClipboardEvent("paste",{clipboardData:new DataTransfer})).clipboardData)||f.setData("text/html",m),t)})}let g=n.doc.content.findDiffStart(r.doc.content),y=n.doc.content.findDiffEnd(r.doc.content);if("number"==typeof g&&y&&g!==y.b)return c({rule:e,state:r,from:g,to:y,pasteEvt:d})}}))}({editor:e,rules:t});r.push(...n)}}let m=eC(t,"addProseMirrorPlugins",n);if(m){let e=m();r.push(...e)}return r})}get attributes(){return eN(this.extensions)}get nodeViews(){let{editor:e}=this,{nodeExtensions:t}=eD(this.extensions);return Object.fromEntries(t.filter(e=>!!eC(e,"addNodeView")).map(t=>{let n=this.attributes.filter(e=>e.type===t.name),r={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:x(t.name,this.schema)},o=eC(t,"addNodeView",r);if(!o)return[];let i=o();return i?[t.name,(r,o,s,a,l)=>{let d=eI(r,n);return i({node:r,view:o,getPos:s,decorations:a,innerDecorations:l,editor:e,extension:t,HTMLAttributes:d})}]:[]}))}dispatchTransaction(e){let{editor:t}=this;return e_([...this.extensions].reverse()).reduceRight((e,n)=>{let r={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:eJ(n.name,this.schema)},o=eC(n,"dispatchTransaction",r);return o?t=>{o.call(r,{transaction:t,next:e})}:e},e)}transformPastedHTML(e){let{editor:t}=this;return e_([...this.extensions]).reduce((e,n)=>{let r={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:eJ(n.name,this.schema)},o=eC(n,"transformPastedHTML",r);return o?(t,n)=>{let i=e(t,n);return o.call(r,i)}:e},e||(e=>e))}get markViews(){let{editor:e}=this,{markExtensions:t}=eD(this.extensions);return Object.fromEntries(t.filter(e=>!!eC(e,"addMarkView")).map(t=>{let n=this.attributes.filter(e=>e.type===t.name),r={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:e,type:N(t.name,this.schema)},o=eC(t,"addMarkView",r);return o?[t.name,(r,i,s)=>{let a=eI(r,n);return o()({mark:r,view:i,inline:s,editor:e,extension:t,HTMLAttributes:a,updateAttributes:t=>{tX(r,e,t)}})}]:[]}))}setupExtensions(){let e=this.extensions;this.editor.extensionStorage=Object.fromEntries(e.map(e=>[e.name,e.storage])),e.forEach(e=>{var t;let n={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:eJ(e.name,this.schema)};"mark"===e.type&&(null==(t=eP(eC(e,"keepOnSplit",n)))||t)&&this.splittableMarks.push(e.name);let r=eC(e,"onBeforeCreate",n),o=eC(e,"onCreate",n),i=eC(e,"onUpdate",n),s=eC(e,"onSelectionUpdate",n),a=eC(e,"onTransaction",n),l=eC(e,"onFocus",n),d=eC(e,"onBlur",n),c=eC(e,"onDestroy",n);r&&this.editor.on("beforeCreate",r),o&&this.editor.on("create",o),i&&this.editor.on("update",i),s&&this.editor.on("selectionUpdate",s),a&&this.editor.on("transaction",a),l&&this.editor.on("focus",l),d&&this.editor.on("blur",d),c&&this.editor.on("destroy",c)})}};tT.resolve=eV,tT.sort=e_,tT.flatten=eO;var tC={};u(tC,{ClipboardTextSerializer:()=>t$,Commands:()=>tA,Delete:()=>tP,Drop:()=>tD,Editable:()=>tN,FocusEvents:()=>tI,Keymap:()=>tR,Paste:()=>tz,Tabindex:()=>tB,TextDirection:()=>tL,focusEventsPluginKey:()=>tj});var tO=class e extends tx{constructor(){super(...arguments),this.type="extension"}static create(t={}){return new e("function"==typeof t?t():t)}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},t$=tO.create({name:"clipboardTextSerializer",addOptions:()=>({blockSeparator:void 0}),addProseMirrorPlugins(){return[new i.k_({key:new i.hs("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:o}=t,{ranges:i}=o,s=Math.min(...i.map(e=>e.$from.pos)),a=Math.max(...i.map(e=>e.$to.pos)),l=eH(n);return eU(r,{from:s,to:a},{...void 0!==this.options.blockSeparator?{blockSeparator:this.options.blockSeparator}:{},textSerializers:l})}}})]}}),tA=tO.create({name:"commands",addCommands:()=>({...m})}),tP=tO.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var n,o,i;let s=()=>{var n,o,i,s;if(null!=(s=null==(i=null==(o=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:o.filterTransaction)?void 0:i.call(o,e))?s:e.getMeta("y-sync$"))return;let a=eM(e.before,[e,...t]);eq(a).forEach(t=>{a.mapping.mapResult(t.oldRange.from).deletedAfter&&a.mapping.mapResult(t.oldRange.to).deletedBefore&&a.before.nodesBetween(t.oldRange.from,t.oldRange.to,(n,r)=>{let o=r+n.nodeSize-2,i=t.oldRange.from<=r&&o<=t.oldRange.to;this.editor.emit("delete",{type:"node",node:n,from:r,to:o,newFrom:a.mapping.map(r),newTo:a.mapping.map(o),deletedRange:t.oldRange,newRange:t.newRange,partial:!i,editor:this.editor,transaction:e,combinedTransform:a})})});let l=a.mapping;a.steps.forEach((t,n)=>{var o,i;if(t instanceof r.Ys){let r=l.slice(n).map(t.from,-1),s=l.slice(n).map(t.to),d=l.invert().map(r,-1),c=l.invert().map(s),u=null==(o=a.doc.nodeAt(r-1))?void 0:o.marks.some(e=>e.eq(t.mark)),p=null==(i=a.doc.nodeAt(s))?void 0:i.marks.some(e=>e.eq(t.mark));this.editor.emit("delete",{type:"mark",mark:t.mark,from:t.from,to:t.to,deletedRange:{from:d,to:c},newRange:{from:r,to:s},partial:!!(p||u),editor:this.editor,transaction:e,combinedTransform:a})}})};null==(i=null==(o=null==(n=this.editor.options.coreExtensionOptions)?void 0:n.delete)?void 0:o.async)||i?setTimeout(s,0):s()}}),tD=tO.create({name:"drop",addProseMirrorPlugins(){return[new i.k_({key:new i.hs("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),tN=tO.create({name:"editable",addProseMirrorPlugins(){return[new i.k_({key:new i.hs("editable"),props:{editable:()=>this.editor.options.editable}})]}}),tj=new i.hs("focusEvents"),tI=tO.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return[new i.k_({key:tj,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;let r=e.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;let r=e.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1}}}})]}}),tR=tO.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:e})=>[()=>e.undoInputRule(),()=>e.command(({tr:t})=>{let{selection:n,doc:r}=t,{empty:o,$anchor:s}=n,{pos:a,parent:l}=s,d=s.parent.isTextblock&&a>0?t.doc.resolve(a-1):s,c=d.parent.type.spec.isolating,u=s.pos-s.parentOffset,p=c&&1===d.parent.childCount?u===s.pos:i.LN.atStart(r).from===a;return!!o&&!!l.type.isTextblock&&!l.textContent.length&&!!p&&(!p||"paragraph"!==s.parent.type.name)&&e.clearNodes()}),()=>e.deleteSelection(),()=>e.joinBackward(),()=>e.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:e})=>[()=>e.deleteSelection(),()=>e.deleteCurrentNode(),()=>e.joinForward(),()=>e.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:e})=>[()=>e.newlineInCode(),()=>e.createParagraphNear(),()=>e.liftEmptyBlock(),()=>e.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},o={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return _()||er()?o:r},addProseMirrorPlugins(){return[new i.k_({key:new i.hs("clearDocument"),appendTransaction:(e,t,n)=>{if(e.some(e=>e.getMeta("composition")))return;let r=e.some(e=>e.docChanged)&&!t.doc.eq(n.doc),o=e.some(e=>e.getMeta("preventClearDocument"));if(!r||o)return;let{empty:s,from:a,to:l}=t.selection,d=i.LN.atStart(t.doc).from,c=i.LN.atEnd(t.doc).to;if(s||a!==d||l!==c||!eX(n.doc))return;let u=n.tr,m=p({state:n,transaction:u}),{commands:f}=new h({editor:this.editor,state:m});if(f.clearNodes(),u.steps.length)return u}})]}}),tz=tO.create({name:"paste",addProseMirrorPlugins(){return[new i.k_({key:new i.hs("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),tB=tO.create({name:"tabindex",addProseMirrorPlugins(){return[new i.k_({key:new i.hs("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}}),tL=tO.create({name:"textDirection",addOptions:()=>({direction:void 0}),addGlobalAttributes(){if(!this.options.direction)return[];let{nodeExtensions:e}=eD(this.extensions);return[{types:e.filter(e=>"text"!==e.name).map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{let t=e.getAttribute("dir");return t&&("ltr"===t||"rtl"===t||"auto"===t)?t:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new i.k_({key:new i.hs("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}}),t_=class e{constructor(e,t,n=!1,r=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=e,this.editor=t,this.currentNode=r}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return null!=(e=this.actualDepth)?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let t=this.from,n=this.to;if(this.isBlock){if(0===this.content.size)return void console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);t=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:t,to:n},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+ +!this.node.isText}get parent(){if(0===this.depth)return null;let t=this.resolvedPos.start(this.resolvedPos.depth-1);return new e(this.resolvedPos.doc.resolve(t),this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new e(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new e(t,this.editor)}get children(){let t=[];return this.node.content.forEach((n,r)=>{let o=n.isBlock&&!n.isTextblock,i=n.isAtom&&!n.isText,s=n.isInline,a=this.pos+r+ +!i;if(a<0||a>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(a);if(!o&&!s&&l.depth<=this.depth)return;let d=new e(l,this.editor,o,o||s?n:null);o&&(d.actualDepth=this.depth+1),t.push(d)}),t}get firstChild(){return this.children[0]||null}get lastChild(){let e=this.children;return e[e.length-1]||null}closest(e,t={}){let n=null,r=this.parent;for(;r&&!n;){if(r.node.type.name===e)if(Object.keys(t).length>0){let e=r.node.attrs,n=Object.keys(t);for(let r=0;r<n.length;r+=1){let o=n[r];if(e[o]!==t[o])break}}else n=r;r=r.parent}return n}querySelector(e,t={}){return this.querySelectorAll(e,t,!0)[0]||null}querySelectorAll(e,t={},n=!1){let r=[];if(!this.children||0===this.children.length)return r;let o=Object.keys(t);return this.children.forEach(i=>{n&&r.length>0||(i.node.type.name===e&&o.every(e=>t[e]===i.node.attrs[e])&&r.push(i),n&&r.length>0||(r=r.concat(i.querySelectorAll(e,t,n))))}),r}setAttribute(e){let{tr:t}=this.editor.state;t.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(t)}},tV=`.ProseMirror {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.ProseMirror {
|
|
6
|
+
word-wrap: break-word;
|
|
7
|
+
white-space: pre-wrap;
|
|
8
|
+
white-space: break-spaces;
|
|
9
|
+
-webkit-font-variant-ligatures: none;
|
|
10
|
+
font-variant-ligatures: none;
|
|
11
|
+
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ProseMirror [contenteditable="false"] {
|
|
15
|
+
white-space: normal;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
|
|
19
|
+
white-space: pre-wrap;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ProseMirror pre {
|
|
23
|
+
white-space: pre-wrap;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
img.ProseMirror-separator {
|
|
27
|
+
display: inline !important;
|
|
28
|
+
border: none !important;
|
|
29
|
+
margin: 0 !important;
|
|
30
|
+
width: 0 !important;
|
|
31
|
+
height: 0 !important;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ProseMirror-gapcursor {
|
|
35
|
+
display: none;
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
position: absolute;
|
|
38
|
+
margin: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.ProseMirror-gapcursor:after {
|
|
42
|
+
content: "";
|
|
43
|
+
display: block;
|
|
44
|
+
position: absolute;
|
|
45
|
+
top: -2px;
|
|
46
|
+
width: 20px;
|
|
47
|
+
border-top: 1px solid black;
|
|
48
|
+
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@keyframes ProseMirror-cursor-blink {
|
|
52
|
+
to {
|
|
53
|
+
visibility: hidden;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.ProseMirror-hideselection *::selection {
|
|
58
|
+
background: transparent;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.ProseMirror-hideselection *::-moz-selection {
|
|
62
|
+
background: transparent;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.ProseMirror-hideselection * {
|
|
66
|
+
caret-color: transparent;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.ProseMirror-focused .ProseMirror-gapcursor {
|
|
70
|
+
display: block;
|
|
71
|
+
}`,tF=class extends tv{constructor(e={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:"u">typeof document?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:e})=>{throw e},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null,enableExtensionDispatchTransaction:!0},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:e2,createMappablePosition:e3},this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:e,slice:t,moved:n})=>this.options.onDrop(e,t,n)),this.on("paste",({event:e,slice:t})=>this.options.onPaste(e,t)),this.on("delete",this.options.onDelete);const t=this.createDoc(),n=B(t,this.options.autofocus);this.editorState=i.$t.create({doc:t,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(e){if("u"<typeof document)throw Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(e),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(!1!==this.options.autofocus&&null!==this.options.autofocus&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){let e=this.editorView.dom;(null==e?void 0:e.editor)&&delete e.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{"function"==typeof this.css.remove?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(e){console.warn("Failed to remove CSS element:",e)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&"u">typeof document&&(this.css=function(e,t,n){let r=document.querySelector("style[data-tiptap-style]");if(null!==r)return r;let o=document.createElement("style");return t&&o.setAttribute("nonce",t),o.setAttribute("data-tiptap-style",""),o.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(o),o}(tV,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},this.editorView&&this.state&&!this.isDestroyed&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,t=!0){this.setOptions({editable:e}),t&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:e=>{this.editorState=e},dispatch:e=>{this.dispatchTransaction(e)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(e,t)=>{if(this.editorView)return this.editorView[t];if("state"===t)return this.editorState;if(t in e)return Reflect.get(e,t);throw Error(`[tiptap error]: The editor view is not available. Cannot access view['${t}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(e,t){let n=eA(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(e){if(this.isDestroyed)return;let t=this.state.plugins,n=t;if([].concat(e).forEach(e=>{let t="string"==typeof e?`${e}$`:e.key;n=n.filter(e=>!e.key.startsWith(t))}),t.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var e,t;let n=[...this.options.enableCoreExtensions?[tN,t$.configure({blockSeparator:null==(t=null==(e=this.options.coreExtensionOptions)?void 0:e.clipboardTextSerializer)?void 0:t.blockSeparator}),tA,tI,tR,tB,tD,tz,tP,tL.configure({direction:this.options.textDirection})].filter(e=>"object"!=typeof this.options.enableCoreExtensions||!1!==this.options.enableCoreExtensions[e.name]):[],...this.options.extensions].filter(e=>["extension","node","mark"].includes(null==e?void 0:e.type));this.extensionManager=new tT(n,this)}createCommandManager(){this.commandManager=new h({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let e;try{e=ek(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(t){if(!(t instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(t.message))throw t;this.emit("contentError",{editor:this,error:t,disableCollaboration:()=>{"collaboration"in this.storage&&"object"==typeof this.storage.collaboration&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(e=>"collaboration"!==e.name),this.createExtensionManager()}}),e=ek(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return e}createView(e){let{editorProps:t,enableExtensionDispatchTransaction:n}=this.options,r=t.dispatchTransaction||this.dispatchTransaction.bind(this),o=n?this.extensionManager.dispatchTransaction(r):r,i=t.transformPastedHTML,s=this.extensionManager.transformPastedHTML(i);this.editorView=new l.Lz(e,{...t,attributes:{role:"textbox",...null==t?void 0:t.attributes},dispatchTransaction:o,transformPastedHTML:s,state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});let a=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(a),this.prependClass(),this.injectCSS(),this.view.dom.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;let t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(e=>{var t;return null==(t=this.capturedTransaction)?void 0:t.step(e)});return}let{state:t,transactions:n}=this.state.applyTransaction(e),r=!this.state.selection.eq(t.selection),o=n.includes(e),i=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:e,nextState:t}),!o)return;this.view.updateState(t),this.emit("transaction",{editor:this,transaction:e,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});let s=n.findLast(e=>e.getMeta("focus")||e.getMeta("blur")),a=null==s?void 0:s.getMeta("focus"),l=null==s?void 0:s.getMeta("blur");a&&this.emit("focus",{editor:this,event:a.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),e.getMeta("preventUpdate")||!n.some(e=>e.docChanged)||i.doc.eq(t.doc)||this.emit("update",{editor:this,transaction:e,appendedTransactions:n.slice(1)})}getAttributes(e){return eK(this.state,e)}isActive(e,t){let n="string"==typeof e?e:null,r="string"==typeof e?t:e;return function(e,t,n={}){if(!t)return ei(e,null,n)||eY(e,null,n);let r=ec(t,e.schema);return"node"===r?ei(e,t,n):"mark"===r&&eY(e,t,n)}(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return e$(this.state.doc.content,this.schema)}getText(e){var t,n;let r,{blockSeparator:o="\n\n",textSerializers:i={}}=e||{};return t=this.state.doc,n={blockSeparator:o,textSerializers:{...eH(this.schema),...i}},r={from:0,to:t.content.size},eU(t,r,n)}get isEmpty(){return eX(this.state.doc)}destroy(){this.emit("destroy"),this.unmount(),this.removeAllListeners()}get isDestroyed(){var e,t;return null==(t=null==(e=this.editorView)?void 0:e.isDestroyed)||t}$node(e,t){var n;return(null==(n=this.$doc)?void 0:n.querySelector(e,t))||null}$nodes(e,t){var n;return(null==(n=this.$doc)?void 0:n.querySelectorAll(e,t))||null}$pos(e){return new t_(this.state.doc.resolve(e),this)}get $doc(){return this.$pos(0)}};function tU(e){return new tb({find:e.find,handler:({state:t,range:n,match:r})=>{let o=eP(e.getAttributes,void 0,r);if(!1===o||null===o)return null;let{tr:i}=t,s=r[r.length-1],a=r[0];if(s){let r=a.search(/\S/),l=n.from+a.indexOf(s),d=l+s.length;if(eW(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>l).length)return null;d<n.to&&i.delete(d,n.to),l>n.from&&i.delete(n.from+r,l);let c=n.from+r+s.length;i.addMark(n.from+r,c,e.type.create(o||{})),i.removeStoredMark(e.type)}},undoable:e.undoable})}function tH(e){if(!(null==e?void 0:e.trim()))return{};let t={},n=[],r=e.replace(/["']([^"']*)["']/g,e=>(n.push(e),`__QUOTED_${n.length-1}__`)),o=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);o&&(t.class=o.map(e=>e.trim().slice(1)).join(" "));let i=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);i&&(t.id=i[1]),Array.from(r.matchAll(/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g)).forEach(([,e,r])=>{var o;let i=n[parseInt((null==(o=r.match(/__QUOTED_(\d+)__/))?void 0:o[1])||"0",10)];i&&(t[e]=i.slice(1,-1))});let s=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return s&&s.split(/\s+/).filter(Boolean).forEach(e=>{e.match(/^[a-zA-Z][\w-]*$/)&&(t[e]=!0)}),t}function tK(e){if(!e||0===Object.keys(e).length)return"";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(e=>t.push(`.${e}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([e,n])=>{"class"!==e&&"id"!==e&&(!0===n?t.push(e):!1!==n&&null!=n&&t.push(`${e}="${String(n)}"`))}),t.join(" ")}function tq(e){let{nodeName:t,name:n,parseAttributes:r=tH,serializeAttributes:o=tK,defaultAttributes:i={},requiredAttributes:s=[],allowedAttributes:a}=e,l=n||t;return{parseMarkdown:(e,n)=>{let r={...i,...e.attributes};return n.createNode(t,r,[])},markdownTokenizer:{name:t,level:"block",start(e){var t;let n=RegExp(`^:::${l}(?:\\s|$)`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,o){let i=RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),a=e.match(i);if(!a)return;let d=r(a[1]||"");if(!s.find(e=>!(e in d)))return{type:t,raw:a[0],attributes:d}}},renderMarkdown:e=>{let t=o((e=>{if(!a)return e;let t={};return a.forEach(n=>{n in e&&(t[n]=e[n])}),t})(e.attrs||{})),n=t?` {${t}}`:"";return`:::${l}${n} :::`}}}function tW(e){let{nodeName:t,name:n,getContent:r,parseAttributes:o=tH,serializeAttributes:i=tK,defaultAttributes:s={},content:a="block",allowedAttributes:l}=e,d=n||t;return{parseMarkdown:(e,n)=>{let o;if(r){let t=r(e);o="string"==typeof t?[{type:"text",text:t}]:t}else o="block"===a?n.parseChildren(e.tokens||[]):n.parseInline(e.tokens||[]);let i={...s,...e.attributes};return n.createNode(t,i,o)},markdownTokenizer:{name:t,level:"block",start(e){var t;let n=RegExp(`^:::${d}`,"m"),r=null==(t=e.match(n))?void 0:t.index;return void 0!==r?r:-1},tokenize(e,n,r){var i;let s=RegExp(`^:::${d}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),l=e.match(s);if(!l)return;let[c,u=""]=l,p=o(u),h=1,m=c.length,f="",g=/^:::([\w-]*)(\s.*)?/gm,y=e.slice(m);for(g.lastIndex=0;;){let n=g.exec(y);if(null===n)break;let o=n.index,s=n[1];if(null==(i=n[2])||!i.endsWith(":::")){if(s)h+=1;else if(0==(h-=1)){let i=y.slice(0,o);f=i.trim();let s=e.slice(0,m+o+n[0].length),l=[];if(f)if("block"===a)for((l=r.blockTokens(i)).forEach(e=>{e.text&&(!e.tokens||0===e.tokens.length)&&(e.tokens=r.inlineTokens(e.text))});l.length>0;){let e=l[l.length-1];if("paragraph"!==e.type||e.text&&""!==e.text.trim())break;l.pop()}else l=r.inlineTokens(f);return{type:t,raw:s,attributes:p,content:f,tokens:l}}}}}},renderMarkdown:(e,t)=>{let n=i((e=>{if(!l)return e;let t={};return l.forEach(n=>{n in e&&(t[n]=e[n])}),t})(e.attrs||{})),r=n?` {${n}}`:"",o=t.renderChildren(e.content||[],"\n\n");return`:::${d}${r}
|
|
72
|
+
|
|
73
|
+
${o}
|
|
74
|
+
|
|
75
|
+
:::`}}}function tJ(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;null!==r;){let[,o,i,s]=r;t[o]=i||s,r=n.exec(e)}return t}function tZ(e){return Object.entries(e).filter(([,e])=>null!=e).map(([e,t])=>`${e}="${t}"`).join(" ")}function tY(e){let{nodeName:t,name:n,getContent:r,parseAttributes:o=tJ,serializeAttributes:i=tZ,defaultAttributes:s={},selfClosing:a=!1,allowedAttributes:l}=e,d=n||t,c=d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(e,n)=>{let o={...s,...e.attributes};if(a)return n.createNode(t,o);let i=r?r(e):e.content||"";return i?n.createNode(t,o,[n.createTextNode(i)]):n.createNode(t,o,[])},markdownTokenizer:{name:t,level:"inline",start(e){let t=a?RegExp(`\\[${c}\\s*[^\\]]*\\]`):RegExp(`\\[${c}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${c}\\]`),n=e.match(t),r=null==n?void 0:n.index;return void 0!==r?r:-1},tokenize(e,n,r){let i=a?RegExp(`^\\[${c}\\s*([^\\]]*)\\]`):RegExp(`^\\[${c}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${c}\\]`),s=e.match(i);if(!s)return;let l="",d="";if(a){let[,e]=s;d=e}else{let[,e,t]=s;d=e,l=t||""}let u=o(d.trim());return{type:t,raw:s[0],content:l.trim(),attributes:u}}},renderMarkdown:e=>{let t="";r?t=r(e):e.content&&e.content.length>0&&(t=e.content.filter(e=>"text"===e.type).map(e=>e.text).join(""));let n=i((e=>{if(!l)return e;let t={};return l.forEach(n=>{let r="string"==typeof n?n:n.name,o="string"==typeof n?void 0:n.skipIfDefault;if(r in e){let n=e[r];if(void 0!==o&&n===o)return;t[r]=n}}),t})(e.attrs||{})),o=n?` ${n}`:"";return a?`[${d}${o}]`:`[${d}${o}]${t}[/${d}]`}}}function tQ(e,t,n){var r,o,i,s;let a=e.split("\n"),l=[],d="",c=0,u=t.baseIndentSize||2;for(;c<a.length;){let e,p=a[c],h=p.match(t.itemPattern);if(!h)if(l.length>0)break;else{if(""!==p.trim())return;c+=1,d=`${d}${p}
|
|
76
|
+
`;continue}let m=t.extractItemData(h),{indentLevel:f,mainContent:g}=m;d=`${d}${p}
|
|
77
|
+
`;let y=[g];for(c+=1;c<a.length;){let e=a[c];if(""===e.trim()){let t=a.slice(c+1).findIndex(e=>""!==e.trim());if(-1===t)break;if(((null==(o=null==(r=a[c+1+t].match(/^(\s*)/))?void 0:r[1])?void 0:o.length)||0)>f){y.push(e),d=`${d}${e}
|
|
78
|
+
`,c+=1;continue}break}if(((null==(s=null==(i=e.match(/^(\s*)/))?void 0:i[1])?void 0:s.length)||0)>f)y.push(e),d=`${d}${e}
|
|
79
|
+
`,c+=1;else break}let v=y.slice(1);if(v.length>0){let r=v.map(e=>e.slice(f+u)).join("\n");r.trim()&&(e=t.customNestedParser?t.customNestedParser(r):n.blockTokens(r))}let b=t.createToken(m,e);l.push(b)}if(0!==l.length)return{items:l,raw:d}}function tG(e,t,n,r){if(!e||!Array.isArray(e.content))return"";let o="function"==typeof n?n(r):n,[i,...s]=e.content,a=t.renderChildren([i]),l=[`${o}${a}`];return s&&s.length>0&&s.forEach(e=>{let n=t.renderChildren([e]);if(n){let e=n.split("\n").map(e=>e?t.indent(e):"").join("\n");l.push(e)}}),l.join("\n")}function tX(e,t,n={}){let{state:r}=t,{doc:o,tr:i}=r;o.descendants((t,r)=>{let o=i.mapping.map(r),s=i.mapping.map(r)+t.nodeSize,a=null;if(t.marks.forEach(t=>{if(t!==e)return!1;a=t}),!a)return;let l=!1;if(Object.keys(n).forEach(e=>{n[e]!==a.attrs[e]&&(l=!0)}),l){let t=e.type.create({...e.attrs,...n});i.removeMark(o,s,e.type),i.addMark(o,s,t)}}),i.docChanged&&t.view.dispatch(i)}u({},{createAtomBlockMarkdownSpec:()=>tq,createBlockMarkdownSpec:()=>tW,createInlineMarkdownSpec:()=>tY,parseAttributes:()=>tH,parseIndentedBlocks:()=>tQ,renderNestedMarkdownContent:()=>tG,serializeAttributes:()=>tK});var t0=class{constructor(e,t,n){this.component=e,this.editor=t.editor,this.options={...n},this.mark=t.mark,this.HTMLAttributes=t.HTMLAttributes}get dom(){return this.editor.view.dom}get contentDOM(){return null}updateAttributes(e,t){tX(t||this.mark,this.editor,e)}ignoreMutation(e){return!this.dom||!this.contentDOM||("function"==typeof this.options.ignoreMutation?this.options.ignoreMutation({mutation:e}):!("selection"===e.type||this.dom.contains(e.target)&&"childList"===e.type&&(_()||L())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(e=>e.isContentEditable))&&(this.contentDOM===e.target&&"attributes"===e.type||!this.contentDOM.contains(e.target)))}},t1=class e extends tx{constructor(){super(...arguments),this.type="node"}static create(t={}){return new e("function"==typeof t?t():t)}configure(e){return super.configure(e)}extend(e){let t="function"==typeof e?e():e;return super.extend(t)}},t2=class{constructor(e,t,n){this.isDragging=!1,this.component=e,this.editor=t.editor,this.options={stopEvent:null,ignoreMutation:null,...n},this.extension=t.extension,this.node=t.node,this.decorations=t.decorations,this.innerDecorations=t.innerDecorations,this.view=t.view,this.HTMLAttributes=t.HTMLAttributes,this.getPos=t.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(e){var t,n,r,o,s,a,l;let{view:d}=this.editor,c=e.target,u=3===c.nodeType?null==(t=c.parentElement)?void 0:t.closest("[data-drag-handle]"):c.closest("[data-drag-handle]");if(!this.dom||(null==(n=this.contentDOM)?void 0:n.contains(c))||!u)return;let p=0,h=0;if(this.dom!==u){let t=this.dom.getBoundingClientRect(),n=u.getBoundingClientRect(),i=null!=(o=e.offsetX)?o:null==(r=e.nativeEvent)?void 0:r.offsetX,l=null!=(a=e.offsetY)?a:null==(s=e.nativeEvent)?void 0:s.offsetY;p=n.x-t.x+i,h=n.y-t.y+l}let m=this.dom.cloneNode(!0);try{let e=this.dom.getBoundingClientRect();m.style.width=`${Math.round(e.width)}px`,m.style.height=`${Math.round(e.height)}px`,m.style.boxSizing="border-box",m.style.pointerEvents="none"}catch{}let f=null;try{(f=document.createElement("div")).style.position="absolute",f.style.top="-9999px",f.style.left="-9999px",f.style.pointerEvents="none",f.appendChild(m),document.body.appendChild(f),null==(l=e.dataTransfer)||l.setDragImage(m,p,h)}finally{f&&setTimeout(()=>{try{null==f||f.remove()}catch{}},0)}let g=this.getPos();if("number"!=typeof g)return;let y=i.nh.create(d.state.doc,g),v=d.state.tr.setSelection(y);d.dispatch(v)}stopEvent(e){var t;if(!this.dom)return!1;if("function"==typeof this.options.stopEvent)return this.options.stopEvent({event:e});let n=e.target;if(!(this.dom.contains(n)&&!(null==(t=this.contentDOM)?void 0:t.contains(n))))return!1;let r=e.type.startsWith("drag"),o="drop"===e.type;if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(n.tagName)||n.isContentEditable)&&!o&&!r)return!0;let{isEditable:s}=this.editor,{isDragging:a}=this,l=!!this.node.type.spec.draggable,d=i.nh.isSelectable(this.node),c="copy"===e.type,u="paste"===e.type,p="cut"===e.type,h="mousedown"===e.type;if(!l&&d&&r&&e.target===this.dom&&e.preventDefault(),l&&r&&!a&&e.target===this.dom)return e.preventDefault(),!1;if(l&&s&&!a&&h){let e=n.closest("[data-drag-handle]");e&&(this.dom===e||this.dom.contains(e))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!a&&!o&&!c&&!u&&!p&&(!h||!d)}ignoreMutation(e){return!this.dom||!this.contentDOM||("function"==typeof this.options.ignoreMutation?this.options.ignoreMutation({mutation:e}):!!this.node.isLeaf||!!this.node.isAtom||!("selection"===e.type||this.dom.contains(e.target)&&"childList"===e.type&&(_()||L())&&this.editor.isFocused&&[...Array.from(e.addedNodes),...Array.from(e.removedNodes)].every(e=>e.isContentEditable))&&(this.contentDOM===e.target&&"attributes"===e.type||!this.contentDOM.contains(e.target)))}updateAttributes(e){this.editor.commands.command(({tr:t})=>{let n=this.getPos();return"number"==typeof n&&(t.setNodeMarkup(n,void 0,{...this.node.attrs,...e}),!0)})}deleteNode(){let e=this.getPos();if("number"!=typeof e)return;let t=e+this.node.nodeSize;this.editor.commands.deleteRange({from:e,to:t})}};function t3(e){return new tE({find:e.find,handler:({state:t,range:n,match:r,pasteEvent:o})=>{let i=eP(e.getAttributes,void 0,r,o);if(!1===i||null===i)return null;let{tr:s}=t,a=r[r.length-1],l=r[0],d=n.to;if(a){let r=l.search(/\S/),o=n.from+l.indexOf(a),c=o+a.length;if(eW(n.from,n.to,t.doc).filter(t=>t.mark.type.excluded.find(n=>n===e.type&&n!==t.mark.type)).filter(e=>e.to>o).length)return null;c<n.to&&s.delete(c,n.to),o>n.from&&s.delete(n.from+r,o),d=n.from+r+a.length,s.addMark(n.from+r,d,e.type.create(i||{})),s.removeStoredMark(e.type)}}})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3600],{18460:(e,s,r)=>{"use strict";r.d(s,{F:()=>i});var t=r(29722);let a=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,n=t.$,i=(e,s)=>r=>{var t;if((null==s?void 0:s.variants)==null)return n(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:d}=s,o=Object.keys(i).map(e=>{let s=null==r?void 0:r[e],t=null==d?void 0:d[e];if(null===s)return null;let n=a(s)||a(t);return i[e][n]}),l=r&&Object.entries(r).reduce((e,s)=>{let[r,t]=s;return void 0===t||(e[r]=t),e},{});return n(e,o,null==s||null==(t=s.compoundVariants)?void 0:t.reduce((e,s)=>{let{class:r,className:t,...a}=s;return Object.entries(a).every(e=>{let[s,r]=e;return Array.isArray(r)?r.includes({...d,...l}[s]):({...d,...l})[s]===r})?[...e,r,t]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},21272:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>l});var t=r(95155),a=r(12115),n=r(89239),i=r(67635),d=r(66609),o=r(41463);function l(){let e=(0,a.useMemo)(()=>o.env.NEXT_PUBLIC_CLAWPAD_RELAY_TOKEN?.trim()||o.env.CLAWPAD_RELAY_TOKEN?.trim()||"",[]);return(0,t.jsxs)("div",{className:"mx-auto max-w-2xl space-y-6 p-8",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("h1",{className:"text-3xl font-bold",children:"Relay Settings"}),(0,t.jsx)("p",{className:"text-muted-foreground",children:"ClawPad Cloud relay setup is currently in rollout."})]}),(0,t.jsxs)("div",{className:"rounded-xl border bg-card p-5 space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Relay Token"}),(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"If configured, use this token to connect your local agent to ClawPad Cloud."})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-md bg-muted p-3 font-mono text-sm",children:[(0,t.jsx)("span",{className:"truncate",children:e||"Not configured"}),(0,t.jsx)(n.$,{variant:"ghost",size:"icon",onClick:()=>{e?(navigator.clipboard.writeText(e),d.oR.success("Token copied to clipboard.")):d.oR.error("No relay token configured yet.")},disabled:!e,"aria-label":"Copy relay token",children:(0,t.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,t.jsxs)("div",{className:"space-y-2 rounded-md border p-3 text-sm",children:[(0,t.jsx)("p",{className:"font-medium",children:"Local command"}),(0,t.jsx)("code",{className:"block rounded bg-muted px-2 py-1",children:e?`clawpad share --token=${e}`:"clawpad share --token=<your_token>"})]})]})]})}},52799:(e,s,r)=>{"use strict";r.d(s,{cn:()=>n});var t=r(29722),a=r(622);function n(...e){return(0,a.QP)((0,t.$)(e))}},54535:(e,s,r)=>{Promise.resolve().then(r.bind(r,21272))},67635:(e,s,r)=>{"use strict";r.d(s,{A:()=>t});let t=(0,r(90425).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},89239:(e,s,r)=>{"use strict";r.d(s,{$:()=>o});var t=r(95155);r(12115);var a=r(18460),n=r(42442),i=r(52799);let d=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:s="default",size:r="default",asChild:a=!1,...o}){let l=a?n.bL:"button";return(0,t.jsx)(l,{"data-slot":"button","data-variant":s,"data-size":r,className:(0,i.cn)(d({variant:s,size:r,className:e})),...o})}}},e=>{e.O(0,[330,6609,8441,3794,7358],()=>e(e.s=54535)),_N_E=e.O()}]);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8118],{1022:(e,t,s)=>{Promise.resolve().then(s.t.bind(s,98500,23)),Promise.resolve().then(s.bind(s,58206)),Promise.resolve().then(s.bind(s,92232))},42317:(e,t,s)=>{"use strict";s.d(t,{L:()=>n});var r=s(95155),a=s(86846);function n(){return(0,r.jsxs)("div",{className:"mx-auto w-full max-w-[720px] px-6",children:[(0,r.jsxs)("div",{className:"pt-20 pb-4",children:[(0,r.jsx)(a.E,{className:"h-10 w-2/3 mb-3"}),(0,r.jsx)(a.E,{className:"h-4 w-1/3"})]}),(0,r.jsxs)("div",{className:"space-y-3 pt-6",children:[(0,r.jsx)(a.E,{className:"h-4 w-full"}),(0,r.jsx)(a.E,{className:"h-4 w-[92%]"}),(0,r.jsx)(a.E,{className:"h-4 w-[78%]"}),(0,r.jsx)("div",{className:"h-3"}),(0,r.jsx)(a.E,{className:"h-4 w-full"}),(0,r.jsx)(a.E,{className:"h-4 w-[85%]"}),(0,r.jsx)(a.E,{className:"h-4 w-[65%]"}),(0,r.jsx)("div",{className:"h-3"}),(0,r.jsx)(a.E,{className:"h-4 w-[90%]"}),(0,r.jsx)(a.E,{className:"h-4 w-[70%]"})]})]})}},58206:(e,t,s)=>{"use strict";s.d(t,{PageDiffFallback:()=>i});var r=s(95155),a=s(83099),n=s(87293);function i({filePath:e,fallback:t}){let s=(0,a.W)(e=>e.review),i=(0,a.W)(e=>e.closeReview);return s.open&&s.changeSetId&&s.filePath===e?(0,r.jsx)(n.W,{changeSetId:s.changeSetId,filePath:e,onExit:i}):(0,r.jsx)(r.Fragment,{children:t})}},83099:(e,t,s)=>{"use strict";s.d(t,{W:()=>r});let r=(0,s(1934).v)((e,t)=>({sessionKey:null,activeRun:null,activeFiles:new Set,lastFileTouchAt:null,changeSets:[],review:{open:!1,changeSetId:null,filePath:null},dismissed:new Set,loading:!1,error:void 0,setSessionKey:t=>e({sessionKey:t}),setActiveRun:t=>e({activeRun:t,...t?{}:{lastFileTouchAt:null}}),touchFile:t=>e(e=>{let s=new Set(e.activeFiles);return s.add(t),{activeFiles:s,lastFileTouchAt:Date.now()}}),clearActiveFiles:()=>e({activeFiles:new Set,lastFileTouchAt:null}),loadChangeSets:async()=>{let s=t().sessionKey;if(s){e({loading:!0,error:void 0});try{let t=await fetch(`/api/changes?sessionKey=${encodeURIComponent(s)}`);if(!t.ok)throw Error("Failed to load change sets");let r=await t.json();e({changeSets:r,loading:!1})}catch(t){e({loading:!1,error:String(t)})}}},openReview:(t,s)=>e({review:{open:!0,changeSetId:t,filePath:s}}),closeReview:()=>e({review:{open:!1,changeSetId:null,filePath:null}}),dismissChangeSet:t=>e(e=>{let s=new Set(e.dismissed);return s.add(t),{dismissed:s}})}))},86846:(e,t,s)=>{"use strict";s.d(t,{E:()=>n});var r=s(95155),a=s(52799);function n({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("bg-accent animate-pulse rounded-md",e),...t})}},87293:(e,t,s)=>{"use strict";s.d(t,{W:()=>u});var r=s(95155),a=s(12115),n=s(80723),i=s(55711),o=s(89239),l=s(52799),d=s(66609),c=s(83099);function u({changeSetId:e,filePath:t,onExit:s}){let[l,u]=(0,a.useState)(null),[p,h]=(0,a.useState)(!0),[x,f]=(0,a.useState)(!1),g=(0,c.W)(e=>e.loadChangeSets),v=(0,a.useCallback)(async()=>{h(!0);try{let t=await fetch(`/api/changes/${encodeURIComponent(e)}`);if(!t.ok)throw Error("Failed to load diff");let s=await t.json();u(s)}catch(e){d.oR.error("Could not load diff")}finally{h(!1)}},[e]);(0,a.useEffect)(()=>{v()},[v]);let b=l?.files.find(e=>e.path===t),w=async()=>{f(!0);try{if(!(await fetch("/api/changes/revert",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changeSetId:e,mode:"file",path:t})})).ok)throw Error("Undo failed");await v(),await g()}catch{d.oR.error("Undo failed")}finally{f(!1)}},j=async s=>{f(!0);try{if(!(await fetch("/api/changes/revert",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({changeSetId:e,mode:"hunk",path:t,hunkId:s})})).ok)throw Error("Undo failed");await v(),await g()}catch{d.oR.error("Could not apply undo")}finally{f(!1)}};return p?(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Loading diff…"}):b?(0,r.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,r.jsxs)("div",{className:"sticky top-0 z-10 flex items-center justify-between border-b bg-background/90 px-4 py-2 backdrop-blur",children:[(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsx)(o.$,{variant:"ghost",size:"icon",onClick:s,children:(0,r.jsx)(n.A,{className:"h-4 w-4"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-sm font-medium",children:"Review changes"}),(0,r.jsx)("div",{className:"text-xs text-muted-foreground",children:t})]})]}),(0,r.jsxs)(o.$,{variant:"outline",size:"sm",onClick:w,disabled:x,children:[(0,r.jsx)(i.A,{className:"mr-2 h-3.5 w-3.5"}),"Undo file"]})]}),(0,r.jsx)("div",{className:"flex-1 px-4 py-6",children:(0,r.jsx)(m,{file:b,onUndoHunk:j,busy:x})})]}):(0,r.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)("span",{children:"No diff available for this file."}),(0,r.jsx)(o.$,{variant:"outline",size:"sm",onClick:s,children:"Back to document"})]})}function m({file:e,onUndoHunk:t,busy:s}){if(e.tooLarge)return(0,r.jsx)("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:"File is too large to diff."});let a=e.hunks??[];return 0===a.length?(0,r.jsx)("div",{className:"rounded-md border border-border p-4 text-sm text-muted-foreground",children:"No differences found."}):(0,r.jsx)("div",{className:"space-y-4",children:a.map((e,a)=>(0,r.jsxs)("div",{className:"overflow-hidden rounded-lg border border-border",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between bg-muted/60 px-3 py-1.5 text-xs text-muted-foreground",children:[(0,r.jsxs)("span",{children:["Hunk ",a+1," \xb7 +",e.adds," −",e.removes]}),(0,r.jsx)(o.$,{size:"sm",variant:"ghost",className:"h-7 px-2 text-xs",onClick:()=>t(e.id),disabled:s,children:"Undo"})]}),(0,r.jsx)("div",{className:"bg-background",children:(0,r.jsx)("pre",{className:"whitespace-pre-wrap px-3 py-2 text-xs leading-relaxed",children:e.lines.map((t,s)=>{let a=t[0],n=t.slice(1);return(0,r.jsxs)("div",{className:(0,l.cn)("rounded-sm px-1","+"===a&&"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300","-"===a&&"bg-rose-500/15 text-rose-700 dark:text-rose-300 line-through"),children:[(0,r.jsx)("span",{className:"mr-2 text-muted-foreground/70",children:a}),n]},`${e.id}-${s}`)})})})]},e.id))})}},89239:(e,t,s)=>{"use strict";s.d(t,{$:()=>l});var r=s(95155);s(12115);var a=s(18460),n=s(42442),i=s(52799);let o=(0,a.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t="default",size:s="default",asChild:a=!1,...l}){let d=a?n.bL:"button";return(0,r.jsx)(d,{"data-slot":"button","data-variant":t,"data-size":s,className:(0,i.cn)(o({variant:t,size:s,className:e})),...l})}},92232:(e,t,s)=>{"use strict";s.d(t,{PageEditor:()=>E});var r=s(95155),a=s(12115),n=s(37206),i=s(73321),o=s(67635),l=s(6962),d=s(60285),c=s(68459),u=s(66609),m=s(42317),p=s(89239),h=s(25623),x=s(52799);function f({...e}){return(0,r.jsx)(h.Root,{"data-slot":"dropdown-menu",...e})}function g({...e}){return(0,r.jsx)(h.Trigger,{"data-slot":"dropdown-menu-trigger",...e})}function v({className:e,sideOffset:t=4,...s}){return(0,r.jsx)(h.Portal,{children:(0,r.jsx)(h.Content,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,x.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",e),...s})})}function b({className:e,inset:t,variant:s="default",...a}){return(0,r.jsx)(h.Item,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":s,className:(0,x.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...a})}var w=s(18496),j=s(83099),y=s(87293);let N=(0,n.default)(()=>Promise.all([s.e(3266),s.e(8425),s.e(7105),s.e(1375),s.e(5004),s.e(277),s.e(2545),s.e(4034),s.e(9352),s.e(6361),s.e(3678)]).then(s.bind(s,3678)),{loadableGenerated:{webpack:()=>[3678]},ssr:!1,loading:()=>(0,r.jsx)(m.L,{})}),k=["\uD83D\uDCDD","\uD83D\uDCC4","\uD83D\uDCCB","\uD83D\uDCCC","\uD83D\uDCCE","\uD83D\uDCD1","\uD83D\uDCD2","\uD83D\uDCD3","\uD83D\uDCD4","\uD83D\uDCD5","\uD83D\uDCD6","\uD83D\uDCD7","\uD83D\uDCD8","\uD83D\uDCD9","\uD83C\uDFAF","\uD83D\uDE80","\uD83D\uDCA1","\uD83D\uDD25","⚡","\uD83C\uDFA8","\uD83E\uDDE0","\uD83D\uDCBB","\uD83D\uDD27","\uD83D\uDCCA","\uD83D\uDDC2️","✨","\uD83C\uDF1F","\uD83D\uDC4B","\uD83C\uDF99️","\uD83C\uDFB5","\uD83D\uDCF7","\uD83D\uDD2C","\uD83C\uDFD7️","\uD83D\uDDFA️","\uD83E\uDDE9"],S=(0,a.memo)(function({status:e}){return"idle"===e?null:(0,r.jsx)("span",{className:`text-xs transition-opacity duration-300 ${{idle:"text-text-muted",saved:"text-success",saving:"text-text-muted",unsaved:"text-warning",error:"text-error"}[e]} ${"saved"===e?"animate-fade-out":""}`,children:{idle:"",saved:"Saved",saving:"Saving…",unsaved:"Unsaved changes",error:"Save failed"}[e]})}),C=(0,a.memo)(function({filePath:e}){let t=e.replace(/\.md$/,"").split("/").map(e=>e.replace(/[-_]+/g," ").replace(/\b\w/g,e=>e.toUpperCase()));return(0,r.jsx)("nav",{className:"flex items-center gap-1 text-[13px] text-text-muted",children:t.map((e,s)=>(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[s>0&&(0,r.jsx)("span",{className:"text-text-muted/50",children:"/"}),(0,r.jsx)("span",{className:s===t.length-1?"text-text-secondary":"",children:e})]},s))})});function $({icon:e,onSelect:t}){let[s,n]=(0,a.useState)(!1),i=(0,a.useRef)(null);return(0,a.useEffect)(()=>{if(s)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){i.current&&!i.current.contains(e.target)&&n(!1)}},[s]),(0,r.jsxs)("div",{ref:i,className:"relative inline-block",children:[(0,r.jsx)("button",{type:"button",onClick:()=>n(!s),className:"text-4xl leading-none hover:bg-surface-hover rounded-lg p-1 transition-colors cursor-pointer md:text-4xl text-3xl",title:"Change icon",children:e||"\uD83D\uDCC4"}),s&&(0,r.jsx)("div",{className:"absolute top-full left-0 z-50 mt-1 grid grid-cols-7 gap-1 rounded-lg border border-border bg-popover p-2 shadow-lg",children:k.map(e=>(0,r.jsx)("button",{type:"button",onClick:()=>{t(e),n(!1)},className:"flex items-center justify-center w-8 h-8 rounded hover:bg-surface-hover transition-colors text-lg cursor-pointer min-h-[44px] min-w-[44px] md:min-h-0 md:min-w-0",children:e},e))})]})}let R=(0,a.memo)(function({status:e,wordCount:t,modified:s}){let[n,i]=(0,a.useState)(!1);(0,a.useEffect)(()=>{i(!0)},[]);let o=new Date(s),l=n?o.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):"",d=n?o.toLocaleDateString(void 0,{month:"short",day:"numeric"}):"";return(0,r.jsxs)("div",{className:"sticky bottom-0 z-10 flex items-center justify-between border-t border-border bg-background/80 backdrop-blur-sm px-4 py-1.5 text-xs text-text-muted md:px-6 max-md:bottom-14",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsx)(S,{status:e}),(0,r.jsxs)("span",{className:"hidden sm:inline",children:[t," words"]})]}),(0,r.jsxs)("span",{className:"hidden sm:inline",children:["Last edited"," ",(0,r.jsx)("span",{suppressHydrationWarning:!0,children:d})," at"," ",(0,r.jsx)("span",{suppressHydrationWarning:!0,children:l})]}),(0,r.jsx)("span",{className:"sm:hidden",children:(0,r.jsx)(S,{status:e})})]})});function E({initialContent:e,meta:t,filePath:s}){let n=(0,i.useRouter)(),{deletePage:h}=(0,w.M)(),x=(0,j.W)(e=>e.review),k=(0,j.W)(e=>e.closeReview),[S,E]=(0,a.useState)(t),[z,P]=(0,a.useState)(e),[F,T]=(0,a.useState)(0),[U,D]=(0,a.useState)(t.icon),[I,_]=(0,a.useState)("idle"),[W,A]=(0,a.useState)(0),[L,O]=(0,a.useState)(t.modified),[K,q]=(0,a.useState)(!1),H=(0,a.useRef)(null),M=(0,a.useRef)(null),J=(0,a.useRef)(t.title),B=(0,a.useRef)("idle"),G=(0,a.useRef)(e),V=(0,a.useRef)(0),Y=(0,a.useRef)(null),Q=(0,a.useRef)(null),X=(0,a.useRef)(null),Z=(0,a.useRef)(s);(0,a.useEffect)(()=>{B.current=I},[I]),(0,a.useEffect)(()=>{Z.current=s},[s]),(0,a.useEffect)(()=>{q(!0)},[]),(0,a.useEffect)(()=>{E(t),P(e),T(e=>e+1),D(t.icon),O(t.modified),_("idle"),A(0),J.current=t.title,G.current=e,V.current=0,Y.current=null,Q.current&&(u.oR.dismiss(Q.current),Q.current=null)},[s,e,t]);let ee=(0,a.useCallback)(e=>{M.current&&clearTimeout(M.current),M.current=setTimeout(async()=>{try{let t=await fetch(`/api/files/pages/${encodeURIComponent(s)}`);if(!t.ok)return;let r=await t.json();await fetch(`/api/files/pages/${encodeURIComponent(s)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:r.content,meta:{...e}})});let a=new Date().toISOString();V.current=Date.now(),O(a),E(t=>({...t,...e,modified:a}))}catch(e){console.error("Failed to save meta:",e)}},800)},[s]),et=(0,a.useCallback)(()=>{let e=H.current?.textContent?.trim()||"Untitled";e!==J.current&&(J.current=e,ee({title:e,icon:U}))},[U,ee]),es=(0,a.useCallback)(e=>{if("Enter"===e.key){e.preventDefault();let t=document.querySelector(".clawpad-editor .ProseMirror");t?.focus()}},[]),er=(0,a.useCallback)(e=>{D(e);let t=H.current?.textContent?.trim()||J.current||"Untitled";J.current=t,ee({title:t,icon:e})},[ee]),ea=(0,a.useCallback)(e=>{let t=new Date().toISOString();G.current=e,V.current=Date.now(),O(t),E(e=>({...e,modified:t}))},[]),en=(0,a.useCallback)(async()=>{try{await h(s),n.push("/workspace")}catch(e){console.error("Failed to delete page:",e)}},[h,s,n]),ei=(0,a.useCallback)(async()=>{try{await navigator.clipboard.writeText(z),u.oR.success("Copied to clipboard")}catch(e){console.error("Failed to copy:",e),u.oR.error("Failed to copy to clipboard")}},[z]),eo=(0,a.useCallback)(()=>{let e=("<p>"+z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/```(\w*)\n([\s\S]*?)```/g,"<pre><code>$2</code></pre>").replace(/^### (.*$)/gm,"<h3>$1</h3>").replace(/^## (.*$)/gm,"<h2>$1</h2>").replace(/^# (.*$)/gm,"<h1>$1</h1>").replace(/\*\*\*(.*?)\*\*\*/g,"<strong><em>$1</em></strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2">$1</a>').replace(/^> (.*$)/gm,"<blockquote>$1</blockquote>").replace(/^[-*] (.*$)/gm,"<li>$1</li>").replace(/^\d+\. (.*$)/gm,"<li>$1</li>").replace(/^---$/gm,"<hr>").replace(/\n\n/g,"</p><p>").replace(/\n/g,"<br>")+"</p>").replace(/<p><\/p>/g,"").replace(/<p><br><\/p>/g,"").replace(/(<li>[\s\S]*?<\/li>)+/g,"<ul>$&</ul>"),t=window.open("","_blank");if(!t)return void u.oR.error("Please allow pop-ups to download PDF");let s=S.title||"Untitled";t.document.write(`
|
|
2
|
+
<!DOCTYPE html>
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<title>${s}</title>
|
|
6
|
+
<style>
|
|
7
|
+
body {
|
|
8
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
9
|
+
max-width: 700px;
|
|
10
|
+
margin: 40px auto;
|
|
11
|
+
padding: 20px;
|
|
12
|
+
line-height: 1.6;
|
|
13
|
+
color: #333;
|
|
14
|
+
}
|
|
15
|
+
h1 { font-size: 2rem; margin-bottom: 1rem; }
|
|
16
|
+
h2 { font-size: 1.5rem; margin-top: 1.5rem; }
|
|
17
|
+
h3 { font-size: 1.25rem; margin-top: 1.25rem; }
|
|
18
|
+
p { margin: 0.75rem 0; }
|
|
19
|
+
code { background: #f4f4f4; padding: 2px 6px; border-radius: 3px; font-family: monospace; }
|
|
20
|
+
pre { background: #f4f4f4; padding: 1rem; border-radius: 6px; overflow-x: auto; }
|
|
21
|
+
pre code { background: none; padding: 0; }
|
|
22
|
+
ul, ol { padding-left: 1.5rem; }
|
|
23
|
+
li { margin: 0.25rem 0; }
|
|
24
|
+
blockquote { border-left: 3px solid #ddd; margin-left: 0; padding-left: 1rem; color: #666; font-style: italic; }
|
|
25
|
+
a { color: #0066cc; }
|
|
26
|
+
hr { border: none; border-top: 1px solid #ddd; margin: 1.5rem 0; }
|
|
27
|
+
img { max-width: 100%; height: auto; }
|
|
28
|
+
@media print {
|
|
29
|
+
body { margin: 0; padding: 20px; }
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
32
|
+
</head>
|
|
33
|
+
<body>
|
|
34
|
+
<h1>${U||"\uD83D\uDCC4"} ${s}</h1>
|
|
35
|
+
${e}
|
|
36
|
+
</body>
|
|
37
|
+
</html>
|
|
38
|
+
`),t.document.close(),t.onload=()=>{t.print()},setTimeout(()=>{t.print()},500),u.oR.success("Print dialog opened - save as PDF")},[z,S.title,U]),el=(0,a.useCallback)((e,t)=>{Y.current=null,Q.current&&(u.oR.dismiss(Q.current),Q.current=null),E(t),D(t.icon),O(t.modified),P(e),T(e=>e+1),_("idle"),G.current=e},[]),ed=(0,a.useCallback)(async(e=!1)=>{try{let t=await fetch(`/api/files/pages/${encodeURIComponent(Z.current)}`);if(!t.ok){404===t.status&&(u.oR.error("This page was deleted."),n.push("/workspace"));return}let s=await t.json(),r=s.content??"",a=s.meta;if(("unsaved"===B.current||"saving"===B.current)&&!e){Y.current={content:r,meta:a},Q.current||(Q.current=(0,u.oR)("This page changed on disk",{action:{label:"Reload",onClick:()=>ed(!0)},duration:6e3}));return}if(r===G.current&&!e){E(a),D(a.icon),O(a.modified);return}el(r,a)}catch(e){console.error("Failed to refresh page:",e)}},[el,n]);return((0,a.useEffect)(()=>{J.current=S.title,H.current&&(H.current.textContent=S.title)},[S.title,s]),(0,a.useEffect)(()=>{let e=e=>{let t=e.detail;if(t?.path&&t.path===Z.current){if("file-removed"===t.type){u.oR.error("This page was deleted."),n.push("/workspace");return}t.timestamp&&1e3>Math.abs(t.timestamp-V.current)||(X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{ed()},250))}};return window.addEventListener("clawpad:file-change",e),()=>{window.removeEventListener("clawpad:file-change",e),X.current&&(clearTimeout(X.current),X.current=null)}},[ed,n]),(0,a.useEffect)(()=>()=>{M.current&&clearTimeout(M.current)},[]),x.open&&x.changeSetId&&x.filePath===s)?(0,r.jsx)(y.W,{changeSetId:x.changeSetId,filePath:s,onExit:k}):(0,r.jsxs)("div",{className:"flex min-h-full flex-col max-md:pb-14",children:[(0,r.jsxs)("div",{className:"mx-auto w-full flex-1 px-3 md:px-8",style:{maxWidth:"var(--clawpad-editor-width, 720px)"},children:[(0,r.jsxs)("div",{className:"pt-12 pb-1 md:pt-20",children:[(0,r.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,r.jsx)($,{icon:U,onSelect:er}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsxs)(p.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",onClick:ei,title:"Copy as markdown",children:[(0,r.jsx)(o.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Copy markdown"})]}),(0,r.jsxs)(p.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",onClick:eo,title:"Download as PDF",children:[(0,r.jsx)(l.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Download PDF"})]}),K?(0,r.jsxs)(f,{children:[(0,r.jsx)(g,{asChild:!0,children:(0,r.jsxs)(p.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",children:[(0,r.jsx)(d.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Page actions"})]})}),(0,r.jsx)(v,{align:"end",className:"w-44",children:(0,r.jsxs)(b,{className:"text-destructive focus:text-destructive",onClick:en,children:[(0,r.jsx)(c.A,{className:"mr-2 h-4 w-4"}),"Delete"]})})]}):(0,r.jsxs)(p.$,{variant:"ghost",size:"icon",className:"h-8 w-8 text-muted-foreground hover:text-foreground",disabled:!0,children:[(0,r.jsx)(d.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Page actions"})]})]})]}),(0,r.jsx)("h1",{ref:H,className:"mt-2 text-2xl font-semibold leading-tight tracking-tight outline-none md:text-[2rem] empty:before:content-['Untitled'] empty:before:text-text-muted",contentEditable:!0,suppressContentEditableWarning:!0,onInput:et,onKeyDown:es,spellCheck:!1,dir:"auto"}),(0,r.jsx)("div",{className:"mt-2 mb-4 md:mb-6",children:(0,r.jsx)(C,{filePath:s})})]}),(0,r.jsx)(a.Suspense,{fallback:(0,r.jsx)(m.L,{}),children:(0,r.jsx)(N,{initialContent:z,filePath:s,onSave:ea,onStatusChange:_,onWordCountChange:A,readOnly:!1},`${s}-${F}`)})]}),(0,r.jsx)(R,{status:I,wordCount:W,modified:L})]})}}},e=>{e.O(0,[330,7300,4559,6609,6094,5623,9075,5167,1178,8441,3794,7358],()=>e(e.s=1022)),_N_E=e.O()}]);
|