ocean-brain 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +4 -2
- package/server/client/dist/assets/{ArrowRight.es-DZTjsBaI.js → ArrowRight.es-CD1IMhU2.js} +1 -1
- package/server/client/dist/assets/{AuxiliaryPanelHeader-Bp3iRjm6.js → AuxiliaryPanelHeader-zoJGsYWR.js} +1 -1
- package/server/client/dist/assets/Calendar-6otw_EJn.js +25 -0
- package/server/client/dist/assets/{Callout-Cye6_6BM.js → Callout-C1QiCWCa.js} +1 -1
- package/server/client/dist/assets/{CheckCircle.es-BTloiuti.js → CheckCircle.es-C7fkzE3t.js} +1 -1
- package/server/client/dist/assets/{Copy.es-CkLUgwY-.js → Copy.es-D6rl6b78.js} +1 -1
- package/server/client/dist/assets/{File.es-c83QExqr.js → File.es-CcjtzE38.js} +1 -1
- package/server/client/dist/assets/{FlowArrow.es-DWiIXWQG.js → FlowArrow.es-CAIThqWk.js} +1 -1
- package/server/client/dist/assets/{Graph-jbPLcne9.js → Graph-BHsmPDPh.js} +1 -1
- package/server/client/dist/assets/{Image.es-vY-nTyOe.js → Image.es-BDpo5R66.js} +1 -1
- package/server/client/dist/assets/Note-Dq2Szaxd.js +19 -0
- package/server/client/dist/assets/{NotePropertiesPanel-uO-JKy19.js → NotePropertiesPanel-Cu3RgDic.js} +2 -2
- package/server/client/dist/assets/{Plus.es-CaRgmXc_.js → Plus.es-P9Fjwtud.js} +1 -1
- package/server/client/dist/assets/{Reminders-BAgZEUwV.js → Reminders-DKm0GFI2.js} +1 -1
- package/server/client/dist/assets/{Search-BxozUWkC.js → Search-DVROxY_B.js} +1 -1
- package/server/client/dist/assets/{SurfaceCard-BAlcul6z.js → SurfaceCard-D_OU_Oy6.js} +1 -1
- package/server/client/dist/assets/{Tag-BhCf_mil.js → Tag-wMHTRwlF.js} +1 -1
- package/server/client/dist/assets/{TagNotes-BIzhXqwp.js → TagNotes-BRza6i14.js} +1 -1
- package/server/client/dist/assets/{Trash.es-prxIxo9c.js → Trash.es-BeR1sZMe.js} +1 -1
- package/server/client/dist/assets/{ViewChip-Cq_YzRvB.js → ViewChip-D-Ax5PdL.js} +1 -1
- package/server/client/dist/assets/{Views-C26uWznP.js → Views-CL7rC05G.js} +1 -1
- package/server/client/dist/assets/{abnfDiagram-VRR7QNED-2cuaaDg0.js → abnfDiagram-N423BO3Z-D44O4T7q.js} +1 -1
- package/server/client/dist/assets/{app-DbQdHfMb.js → app-CyQtGTtn.js} +3 -3
- package/server/client/dist/assets/app-DGFNtdpS.css +1 -0
- package/server/client/dist/assets/{arc-Cr-oYJoQ.js → arc-Cil9fXuW.js} +1 -1
- package/server/client/dist/assets/architectureDiagram-T3A2C74G-Cjq6ayF2.js +36 -0
- package/server/client/dist/assets/{blockDiagram-677ZJIJ3-evR8rlpQ.js → blockDiagram-VBNYF7ZC-B2Xm5N0i.js} +1 -1
- package/server/client/dist/assets/{c4Diagram-LMCZKHZV-zCjuWUmC.js → c4Diagram-5PPSVZJV-Dp0y-lCR.js} +1 -1
- package/server/client/dist/assets/channel-DZFalh-h.js +1 -0
- package/server/client/dist/assets/{chunk-32BRIVSS-102-EyWU.js → chunk-2GRJ4B5K-CWaaNkFx.js} +1 -1
- package/server/client/dist/assets/{chunk-2Q5K7J3B-P0v1gRui.js → chunk-2Q5K7J3B-Ces-xz2S.js} +1 -1
- package/server/client/dist/assets/{chunk-EX3LRPZG-k5hlNinR.js → chunk-5RXB4S5H-B-4Chlfc.js} +1 -1
- package/server/client/dist/assets/{chunk-5VM5RSS4-uqI_1K1p.js → chunk-5VM5RSS4-C8_HVwuz.js} +1 -1
- package/server/client/dist/assets/{chunk-MOJQB5TN-B-LmIwhJ.js → chunk-6Q2QTUOP-xZ8ofRqk.js} +1 -1
- package/server/client/dist/assets/{chunk-V7JOEXUC-CmSzAkUx.js → chunk-GF5L2VYU-Bpa43a7s.js} +1 -1
- package/server/client/dist/assets/{chunk-JWPE2WC7-PLvgEy_B.js → chunk-JWPE2WC7-DsyTXbuq.js} +1 -1
- package/server/client/dist/assets/{chunk-VR4S4FIN-IiOfWaBG.js → chunk-KBJHAD2P-BDhjm9-8.js} +1 -1
- package/server/client/dist/assets/{chunk-RYQCIY6F-CaNSMki0.js → chunk-RYQCIY6F-Cn-jdp6I.js} +1 -1
- package/server/client/dist/assets/{chunk-XXDRQBXY-DRXrI6SM.js → chunk-XXDRQBXY-BKsc_0wh.js} +1 -1
- package/server/client/dist/assets/classDiagram-JCYQIIEL-CkEhFvVV.js +1 -0
- package/server/client/dist/assets/classDiagram-v2-OCEON4UE-CkEhFvVV.js +1 -0
- package/server/client/dist/assets/{cose-bilkent-JH36ORCC-COcEaZRS.js → cose-bilkent-JH36ORCC-jmn3Q4zj.js} +1 -1
- package/server/client/dist/assets/{cynefinDiagram-TSTJHNR4-CSHqcg9K.js → cynefinDiagram-MW4NZA55-BpLstuBJ.js} +1 -1
- package/server/client/dist/assets/{dagre-VKFMJZFB-XAWCPOS0.js → dagre-VZM6K2ZE-B5ft5Yzm.js} +1 -1
- package/server/client/dist/assets/{diagram-OA4YK3LP-CXTlHB5A.js → diagram-7IWD3JNH-B_W9IsWZ.js} +1 -1
- package/server/client/dist/assets/{diagram-FQU43EPY-scBCDUnE.js → diagram-B4RE2ZJO-32chS3GX.js} +1 -1
- package/server/client/dist/assets/{diagram-NH7WQ7WH-DcWalY4j.js → diagram-LBJQPF4R-Bqupdb3-.js} +1 -1
- package/server/client/dist/assets/{diagram-G47NLZAW-nPKP5kd8.js → diagram-Q27KOJAE-BD8jKBsv.js} +1 -1
- package/server/client/dist/assets/diagram-UB23O5K3-C40jAU8D.js +41 -0
- package/server/client/dist/assets/{ebnfDiagram-CCIWWBDH-nHt3vRNt.js → ebnfDiagram-BXEA7PRR-BQfW9mFA.js} +1 -1
- package/server/client/dist/assets/{erDiagram-Q63AITRT-K6stUUV2.js → erDiagram-JOGREHBK-ILZnLzz2.js} +1 -1
- package/server/client/dist/assets/{flowDiagram-23GEKE2U-DDWtKrEp.js → flowDiagram-UKHOOZJN-CDmwr2dI.js} +4 -4
- package/server/client/dist/assets/{ganttDiagram-NO4QXBWP-Daqh7b4I.js → ganttDiagram-PKOTCBZU-DBcrUc49.js} +1 -1
- package/server/client/dist/assets/{gitGraphDiagram-IHSO6WYX-D73CLkcG.js → gitGraphDiagram-DS77QQ5N-_xO6__FK.js} +1 -1
- package/server/client/dist/assets/{image.api-Bbwmcw0T.js → image.api-CtfyPwkV.js} +1 -1
- package/server/client/dist/assets/{index-8bsOoxxg.js → index-BEfKfbvr.js} +1 -1
- package/server/client/dist/assets/{infoDiagram-FWYZ7A6U-Bc1YI5Iu.js → infoDiagram-6WML65LV-CuIIcu-L.js} +1 -1
- package/server/client/dist/assets/{ishikawaDiagram-FXEZZL3T-BJDXbmaY.js → ishikawaDiagram-WSZJBQD7-BVtRGTOj.js} +1 -1
- package/server/client/dist/assets/{journeyDiagram-5HDEW3XC-DlyJx4xT.js → journeyDiagram-NVQOT4AX-D5-Nzb2N.js} +1 -1
- package/server/client/dist/assets/{kanban-definition-HUTT4EX6-AmTeXesc.js → kanban-definition-27J2QSJJ-DmOhgC8H.js} +1 -1
- package/server/client/dist/assets/{manage-image-detail-CPpeRZD4.js → manage-image-detail-BNYOCSmu.js} +1 -1
- package/server/client/dist/assets/{manage-image-DCBgglLx.js → manage-image-m-7v_Z1W.js} +1 -1
- package/server/client/dist/assets/{mcp-Y2p95Lm9.js → mcp-B-aGeAQD.js} +1 -1
- package/server/client/dist/assets/{mcp-admin-adapter-z9OaMVrl.js → mcp-admin-adapter-Cw6w5mfg.js} +1 -1
- package/server/client/dist/assets/mermaid.core-C2tL9tq7.js +308 -0
- package/server/client/dist/assets/{mindmap-definition-LN4V7U3C-C_6tKVmY.js → mindmap-definition-FAOFIHXS-DuvsPqrh.js} +1 -1
- package/server/client/dist/assets/{note-ui-Cv6quEYh.js → note-ui-CYsZc3DI.js} +1 -1
- package/server/client/dist/assets/{pegDiagram-2B236MQR-CGKCNdrV.js → pegDiagram-VL7TDLO6-D64crEZV.js} +1 -1
- package/server/client/dist/assets/{pieDiagram-ENE6RG2P-C3cMh7d5.js → pieDiagram-7S7Q4E2Y--kl7vopC.js} +1 -1
- package/server/client/dist/assets/{placeholder-CHRQt_T8.js → placeholder-C5fNzKrL.js} +1 -1
- package/server/client/dist/assets/{properties-CwxDtivz.js → properties-B93_V2uD.js} +1 -1
- package/server/client/dist/assets/{quadrantDiagram-ABIIQ3AL-CVVzGxBd.js → quadrantDiagram-CIZ2JOQS-DuvJ4M2y.js} +1 -1
- package/server/client/dist/assets/{railroadDiagram-RFXS5EU6-wa-4aJR9.js → railroadDiagram-AXF67PYL-BMKmCOY7.js} +1 -1
- package/server/client/dist/assets/{requirementDiagram-TGXJPOKE-DyuC9W7q.js → requirementDiagram-LRYGKXZP-DY1eJcy0.js} +1 -1
- package/server/client/dist/assets/route-preload.js +2 -2
- package/server/client/dist/assets/{sankeyDiagram-HTMAVEWB-B70y-MQg.js → sankeyDiagram-W5VNT64P-C3Ka4GKM.js} +1 -1
- package/server/client/dist/assets/{search-DCLnUWYd.js → search-BmXuuK26.js} +1 -1
- package/server/client/dist/assets/{search-admin-adapter-BLMYNm9w.js → search-admin-adapter-Dj0KKKrJ.js} +1 -1
- package/server/client/dist/assets/{sequenceDiagram-DBY2YBRQ-mGkh3IEy.js → sequenceDiagram-SI44F4Z6-Bhpwtk2s.js} +1 -1
- package/server/client/dist/assets/{sizeCapture-X5ZJPWSS-BhnCNP5z.js → sizeCapture-X5ZJPWSS-BFta71TW.js} +1 -1
- package/server/client/dist/assets/{stateDiagram-2N3HPSRC-BqSKSfKi.js → stateDiagram-OKZ733FA-D6GCn1io.js} +1 -1
- package/server/client/dist/assets/{stateDiagram-v2-6OUMAXLB-Wl7lGTf3.js → stateDiagram-v2-UEYNNEHI-g4yinGDn.js} +1 -1
- package/server/client/dist/assets/{swimlanes-5IMT3BWC-CZ7ckdmY.js → swimlanes-SLNWSIFB-DLFvOjUl.js} +2 -2
- package/server/client/dist/assets/swimlanesDiagram-ULZ7WXOC-Ci4mcvmo.js +8 -0
- package/server/client/dist/assets/{tag.api-bU52U0tT.js → tag.api-BJ6eaHui.js} +1 -1
- package/server/client/dist/assets/{time-DZKkPFUi.js → time-DI902Sxa.js} +1 -1
- package/server/client/dist/assets/{timeline-definition-FHXFAJF6-C-t9-x4M.js → timeline-definition-Z64GVDOM-DTSIekSM.js} +1 -1
- package/server/client/dist/assets/{trash-BNeUFJnC.js → trash-GulvRh9f.js} +1 -1
- package/server/client/dist/assets/{useNoteMutate-VJYw0Vt_.js → useNoteMutate-xEIypxi5.js} +1 -1
- package/server/client/dist/assets/{useReminderMutate-DaO0QssD.js → useReminderMutate-kTBRSjYc.js} +1 -1
- package/server/client/dist/assets/{vennDiagram-L72KCM5P-CP014Nl5.js → vennDiagram-T6HMQDX7-CMNqSI2X.js} +1 -1
- package/server/client/dist/assets/{wardleyDiagram-EHGQE667-B7Ghd-94.js → wardleyDiagram-T6FBY63Y-DV-JOYqB.js} +1 -1
- package/server/client/dist/assets/{xychartDiagram-FW5EYKEG-C4YGS0YJ.js → xychartDiagram-ELKLHX3M-BUIniF4m.js} +4 -4
- package/server/client/dist/index.html +4 -4
- package/server/dist/app.js +5 -5
- package/server/dist/features/note/graphql/note.query.resolver.js +18 -16
- package/server/dist/features/placeholder/graphql/placeholder.mutation.resolver.js +2 -3
- package/server/dist/features/placeholder/graphql/placeholder.query.resolver.js +4 -3
- package/server/dist/features/search/sqlite-vector-index.js +71 -138
- package/server/dist/features/view/graphql/view.query.resolver.js +15 -7
- package/server/dist/main.js +1 -35
- package/server/dist/modules/blocknote.js +33 -17
- package/server/dist/routes/api.js +6 -1
- package/server/dist/routes/client.js +15 -4
- package/server/dist/server.js +40 -0
- package/server/client/dist/assets/Calendar-BLiViCGr.js +0 -25
- package/server/client/dist/assets/Note-BTQLB80Y.js +0 -25
- package/server/client/dist/assets/app-CEkicO08.css +0 -1
- package/server/client/dist/assets/architectureDiagram-ZJ3FMSHR-HF8-bEM0.js +0 -36
- package/server/client/dist/assets/channel-Cq5ZBtfo.js +0 -1
- package/server/client/dist/assets/classDiagram-OUVF2IWQ-BqUaa8a6.js +0 -1
- package/server/client/dist/assets/classDiagram-v2-EOCWNBFH-BqUaa8a6.js +0 -1
- package/server/client/dist/assets/diagram-WEI45ONY-D1uvaJub.js +0 -41
- package/server/client/dist/assets/mermaid.core-B528P54n.js +0 -308
- package/server/client/dist/assets/swimlanesDiagram-G3AALYLV-BZL3DQ-c.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as ae}from"./chunk-XXDRQBXY-
|
|
1
|
+
import{g as ae}from"./chunk-XXDRQBXY-BKsc_0wh.js";import{s as ce}from"./chunk-KBJHAD2P-BDhjm9-8.js";import{_ as h,l as I,t as le,u as he,y as de,B as j,c as P,h as G,b5 as ge,a9 as ue,aa as pe,ab as fe}from"./mermaid.core-C2tL9tq7.js";import"./transform-BUB79_za.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";const _=[];for(let t=0;t<256;++t)_.push((t+256).toString(16).slice(1));function me(t,e=0){return(_[t[e+0]]+_[t[e+1]]+_[t[e+2]]+_[t[e+3]]+"-"+_[t[e+4]]+_[t[e+5]]+"-"+_[t[e+6]]+_[t[e+7]]+"-"+_[t[e+8]]+_[t[e+9]]+"-"+_[t[e+10]]+_[t[e+11]]+_[t[e+12]]+_[t[e+13]]+_[t[e+14]]+_[t[e+15]]).toLowerCase()}const ye=new Uint8Array(16);function Ee(){return crypto.getRandomValues(ye)}function _e(t,e,a){return crypto.randomUUID?crypto.randomUUID():be(t)}function be(t,e,a){t=t||{};const l=t.random??t.rng?.()??Ee();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,me(l)}var q=(function(){var t=h(function(L,s,i,o){for(i=i||{},o=L.length;o--;i[L[o]]=s);return i},"o"),e=[1,4],a=[1,13],l=[1,12],n=[1,15],d=[1,16],f=[1,20],y=[1,19],E=[6,7,8],b=[1,26],v=[1,24],R=[1,25],g=[6,7,11],A=[1,6,13,15,16,19,22],J=[1,33],K=[1,34],$=[1,6,7,11,13,15,16,19,22],H={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:h(function(s,i,o,c,p,r,B){var u=r.length-1;switch(p){case 6:case 7:return c;case 8:c.getLogger().trace("Stop NL ");break;case 9:c.getLogger().trace("Stop EOF ");break;case 11:c.getLogger().trace("Stop NL2 ");break;case 12:c.getLogger().trace("Stop EOF2 ");break;case 15:c.getLogger().info("Node: ",r[u].id),c.addNode(r[u-1].length,r[u].id,r[u].descr,r[u].type);break;case 16:c.getLogger().trace("Icon: ",r[u]),c.decorateNode({icon:r[u]});break;case 17:case 21:c.decorateNode({class:r[u]});break;case 18:c.getLogger().trace("SPACELIST");break;case 19:c.getLogger().trace("Node: ",r[u].id),c.addNode(0,r[u].id,r[u].descr,r[u].type);break;case 20:c.decorateNode({icon:r[u]});break;case 25:c.getLogger().trace("node found ..",r[u-2]),this.$={id:r[u-1],descr:r[u-1],type:c.getType(r[u-2],r[u])};break;case 26:this.$={id:r[u],descr:r[u],type:c.nodeType.DEFAULT};break;case 27:c.getLogger().trace("node found ..",r[u-3]),this.$={id:r[u-3],descr:r[u-1],type:c.getType(r[u-2],r[u])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:a,7:[1,10],9:9,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:f,22:y},t(E,[2,3]),{1:[2,2]},t(E,[2,4]),t(E,[2,5]),{1:[2,6],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:f,22:y},{6:a,9:22,12:11,13:l,14:14,15:n,16:d,17:17,18:18,19:f,22:y},{6:b,7:v,10:23,11:R},t(g,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:f,22:y}),t(g,[2,18]),t(g,[2,19]),t(g,[2,20]),t(g,[2,21]),t(g,[2,23]),t(g,[2,24]),t(g,[2,26],{19:[1,30]}),{20:[1,31]},{6:b,7:v,10:32,11:R},{1:[2,7],6:a,12:21,13:l,14:14,15:n,16:d,17:17,18:18,19:f,22:y},t(A,[2,14],{7:J,11:K}),t($,[2,8]),t($,[2,9]),t($,[2,10]),t(g,[2,15]),t(g,[2,16]),t(g,[2,17]),{20:[1,35]},{21:[1,36]},t(A,[2,13],{7:J,11:K}),t($,[2,11]),t($,[2,12]),{21:[1,37]},t(g,[2,25]),t(g,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:h(function(s,i){if(i.recoverable)this.trace(s);else{var o=new Error(s);throw o.hash=i,o}},"parseError"),parse:h(function(s){var i=this,o=[0],c=[],p=[null],r=[],B=this.table,u="",U=0,Q=0,ie=2,Z=1,se=r.slice.call(arguments,1),m=Object.create(this.lexer),T={yy:{}};for(var W in this.yy)Object.prototype.hasOwnProperty.call(this.yy,W)&&(T.yy[W]=this.yy[W]);m.setInput(s,T.yy),T.yy.lexer=m,T.yy.parser=this,typeof m.yylloc>"u"&&(m.yylloc={});var z=m.yylloc;r.push(z);var re=m.options&&m.options.ranges;typeof T.yy.parseError=="function"?this.parseError=T.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function oe(S){o.length=o.length-2*S,p.length=p.length-S,r.length=r.length-S}h(oe,"popStack");function ee(){var S;return S=c.pop()||m.lex()||Z,typeof S!="number"&&(S instanceof Array&&(c=S,S=c.pop()),S=i.symbols_[S]||S),S}h(ee,"lex");for(var k,O,x,X,C={},V,N,te,F;;){if(O=o[o.length-1],this.defaultActions[O]?x=this.defaultActions[O]:((k===null||typeof k>"u")&&(k=ee()),x=B[O]&&B[O][k]),typeof x>"u"||!x.length||!x[0]){var Y="";F=[];for(V in B[O])this.terminals_[V]&&V>ie&&F.push("'"+this.terminals_[V]+"'");m.showPosition?Y="Parse error on line "+(U+1)+`:
|
|
2
2
|
`+m.showPosition()+`
|
|
3
3
|
Expecting `+F.join(", ")+", got '"+(this.terminals_[k]||k)+"'":Y="Parse error on line "+(U+1)+": Unexpected "+(k==Z?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(Y,{text:m.match,token:this.terminals_[k]||k,line:m.yylineno,loc:z,expected:F})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+k);switch(x[0]){case 1:o.push(k),p.push(m.yytext),r.push(m.yylloc),o.push(x[1]),k=null,Q=m.yyleng,u=m.yytext,U=m.yylineno,z=m.yylloc;break;case 2:if(N=this.productions_[x[1]][1],C.$=p[p.length-N],C._$={first_line:r[r.length-(N||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(N||1)].first_column,last_column:r[r.length-1].last_column},re&&(C._$.range=[r[r.length-(N||1)].range[0],r[r.length-1].range[1]]),X=this.performAction.apply(C,[u,Q,U,T.yy,x[1],p,r].concat(se)),typeof X<"u")return X;N&&(o=o.slice(0,-1*N*2),p=p.slice(0,-1*N),r=r.slice(0,-1*N)),o.push(this.productions_[x[1]][0]),p.push(C.$),r.push(C._$),te=B[o[o.length-2]][o[o.length-1]],o.push(te);break;case 3:return!0}}return!0},"parse")},ne=(function(){var L={EOF:1,parseError:h(function(i,o){if(this.yy.parser)this.yy.parser.parseError(i,o);else throw new Error(i)},"parseError"),setInput:h(function(s,i){return this.yy=i||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:h(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var i=s.match(/(?:\r\n?|\n).*/g);return i?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:h(function(s){var i=s.length,o=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),o.length-1&&(this.yylineno-=o.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:o?(o.length===c.length?this.yylloc.first_column:0)+c[c.length-o.length].length-o[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:h(function(s){this.unput(this.match.slice(s))},"less"),pastInput:h(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var s=this.pastInput(),i=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as d,j as r,w as Zt,b as pe,a as ae}from"./floating-ui.react-dom-BWTnA00G.js";import{$ as Xt,q as Jt,U as en,s as tn,v as B,w as R,L as nn,I as on,P as z,D as P,n as Y,Z as U,a as S,C as ge,K as ie,M as Z,b as rn,O as ln,i as be,c as D,Y as _e,V as Ge,d as an,o as sn,e as et,A as cn,x as tt,f as nt,u as dn,g as un,N as X,W as mn,T as ot,H as pn,r as $e,h as gn,j as bn,k as fn,l as hn,m as xn,F as j,p as Re}from"./note-core-DUTqUh5N.js";import{aL as vn,aM as Cn,aN as Me,aO as kn,aP as jn,aQ as wn,aR as yn,aS as Sn,aT as Tn,aU as ve,aV as _n,aW as Rn,I as En,aX as He,aY as In,aZ as Mn,a_ as Pn,a$ as Nn,b0 as Bn,b1 as A,b2 as J,b3 as ee,T as On,b4 as rt,b5 as se,b6 as Fn,b7 as Dn,b8 as Ln,b9 as An,ba as zn,bb as Gn,bc as $n,bd as Hn,be as Pe,bf as lt,bg as it,bh as at,bi as st,bj as ct,bk as ce,bl as de,bm as ue,bn as dt,bo as ut,bp as mt,bq as pt,br as Ue,bs as Un,bt as Ve,bu as Vn,bv as qn,bw as Kn,bx as Qn,by as Wn,bz as Yn,bA as Zn,bB as Xn,bC as Jn,bD as eo,bE as to,bF as no,bG as oo,bH as ro,bI as gt,bJ as bt,bK as lo,bL as io,bM as ao,bN as ft,bO as so,bP as co,bQ as uo,bR as mo,bS as po,bT as ht,bU as xt,N as go,bV as bo,bW as fo,bX as ho,bY as $,bZ as vt,b_ as xo,b$ as M,c0 as N,c1 as V,c2 as vo,c3 as Ct,c4 as Ne,c5 as kt,c6 as Co,c7 as ko,c8 as Be,c9 as jo,ca as wo,cb as yo,cc as So,cd as jt,ce as wt,cf as Oe,cg as To,ch as _o,ci as oe,cj as Ro,ck as qe,cl as Eo,cm as Io}from"./note-runtime-zN5ddTba.js";import{_ as me}from"./preload-helper-BXl3LOEh.js";import{c as Mo}from"./useNoteMutate-
|
|
1
|
+
import{r as d,j as r,w as Zt,b as pe,a as ae}from"./floating-ui.react-dom-BWTnA00G.js";import{$ as Xt,q as Jt,U as en,s as tn,v as B,w as R,L as nn,I as on,P as z,D as P,n as Y,Z as U,a as S,C as ge,K as ie,M as Z,b as rn,O as ln,i as be,c as D,Y as _e,V as Ge,d as an,o as sn,e as et,A as cn,x as tt,f as nt,u as dn,g as un,N as X,W as mn,T as ot,H as pn,r as $e,h as gn,j as bn,k as fn,l as hn,m as xn,F as j,p as Re}from"./note-core-DUTqUh5N.js";import{aL as vn,aM as Cn,aN as Me,aO as kn,aP as jn,aQ as wn,aR as yn,aS as Sn,aT as Tn,aU as ve,aV as _n,aW as Rn,I as En,aX as He,aY as In,aZ as Mn,a_ as Pn,a$ as Nn,b0 as Bn,b1 as A,b2 as J,b3 as ee,T as On,b4 as rt,b5 as se,b6 as Fn,b7 as Dn,b8 as Ln,b9 as An,ba as zn,bb as Gn,bc as $n,bd as Hn,be as Pe,bf as lt,bg as it,bh as at,bi as st,bj as ct,bk as ce,bl as de,bm as ue,bn as dt,bo as ut,bp as mt,bq as pt,br as Ue,bs as Un,bt as Ve,bu as Vn,bv as qn,bw as Kn,bx as Qn,by as Wn,bz as Yn,bA as Zn,bB as Xn,bC as Jn,bD as eo,bE as to,bF as no,bG as oo,bH as ro,bI as gt,bJ as bt,bK as lo,bL as io,bM as ao,bN as ft,bO as so,bP as co,bQ as uo,bR as mo,bS as po,bT as ht,bU as xt,N as go,bV as bo,bW as fo,bX as ho,bY as $,bZ as vt,b_ as xo,b$ as M,c0 as N,c1 as V,c2 as vo,c3 as Ct,c4 as Ne,c5 as kt,c6 as Co,c7 as ko,c8 as Be,c9 as jo,ca as wo,cb as yo,cc as So,cd as jt,ce as wt,cf as Oe,cg as To,ch as _o,ci as oe,cj as Ro,ck as qe,cl as Eo,cm as Io}from"./note-runtime-zN5ddTba.js";import{_ as me}from"./preload-helper-BXl3LOEh.js";import{c as Mo}from"./useNoteMutate-xEIypxi5.js";var yt=d.createContext(void 0);function O(e){return d.useContext(yt)}function v(e){let o=O();if(!o?.editor)throw Error("useBlockNoteEditor was called outside of a BlockNoteContext provider or BlockNoteView component");return o.editor}function w(e,o){let t=(o?.editor??v()).getExtension(e);if(!t)throw Error("Extension not found",{cause:{plugin:e}});return t}function y(e,o){let{store:t}=w(e,o);if(!t)throw Error("Store not found on plugin",{cause:{plugin:e}});return vn(t,o?.selector)}function Po(e){let o=new DOMRect,t="getBoundingClientRect"in e?()=>e.getBoundingClientRect():()=>e.element.getBoundingClientRect();return()=>e.element&&(e.cacheMountedBoundingClientRect??!0)?(e.element.isConnected&&(o=t()),o):t()}function No(e,o){return e?o?(t,n,l)=>{let i=e(t,n,l),s=o(t,n,l);return()=>{i?.(),s?.()}}:e:o}var L=e=>{let o=v(),t=o?.portalElement;if(!t)throw Error("Portal element not found");let{whileElementsMounted:n,...l}=e.useFloatingOptions??{},{refs:i,floatingStyles:s,context:a}=Cn({whileElementsMounted:No(Me,e.useFloatingOptions?.whileElementsMounted),...l}),{isMounted:c,styles:u}=kn(a,e.useTransitionStylesProps),{status:m}=jn(a,e.useTransitionStatusProps),{getFloatingProps:p}=wn([yn(a,e.useDismissProps),Sn(a,{enabled:!1,...e.useHoverProps})]),g=d.useRef(""),b=d.useRef(null),f=Tn([b,i.setFloating]);if(d.useEffect(()=>{if(e.reference){let C="element"in e.reference?e.reference.element:void 0;C!==void 0&&(e.focusManagerProps?.disabled||!o.isWithinEditor(C))&&i.setReference(C),i.setPositionReference({getBoundingClientRect:Po(e.reference),contextElement:C})}},[e.reference,i,e.focusManagerProps?.disabled,o]),d.useEffect(()=>{(m==="initial"||m==="open")&&b.current?.innerHTML&&(g.current=b.current.innerHTML)},[m,e.reference,e.children]),!c)return!1;let x={...e.elementProps,style:{display:"flex",...e.elementProps?.style,zIndex:`calc(var(--bn-ui-base-z-index, 0) + ${e.elementProps?.style?.zIndex||0})`,...s,...u},...p()};return m==="close"?r.jsx(ve,{root:t,children:r.jsx("div",{ref:f,...x,dangerouslySetInnerHTML:{__html:g.current}})}):e.focusManagerProps?.disabled?r.jsx(ve,{root:t,children:r.jsx("div",{ref:f,...x,children:e.children})}):r.jsx(ve,{root:t,children:r.jsx(_n,{...e.focusManagerProps,context:a,children:r.jsx("div",{ref:f,...x,children:e.children})})})},St=d.createContext(void 0);function h(){return d.useContext(St)}function k(){return O().editor.dictionary}var Bo=typeof window<"u"?d.useLayoutEffect:d.useEffect,Oo=class{transactionNumber=0;lastTransactionNumber=0;lastSnapshot;editor;subscribers=new Set;constructor(o){this.editor=o,this.lastSnapshot={editor:o,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(o){return this.subscribers.add(o),()=>{this.subscribers.delete(o)}}watch(o,t){if(this.editor=o,this.editor){let n=()=>{this.transactionNumber+=1,this.subscribers.forEach(s=>s())},l=this.editor._tiptapEditor,i={all:["transaction","create","mount","unmount"],mount:["create","mount","unmount"],selection:["selectionUpdate"],change:["update"]};for(let s of i[t])l.on(s,n);return()=>{for(let s of i[t])l.off(s,n)}}}};function E(e){let o=O(),t=e.editor||o?.editor||null,n=e.on||"all",[l]=d.useState(()=>new Oo(t)),i=Zt.useSyncExternalStoreWithSelector(l.subscribe,l.getSnapshot,l.getServerSnapshot,e.selector,e.equalityFn??Rn);return Bo(()=>l.watch(t,n),[t,l,n]),d.useDebugValue(i),i}function q(e){let o=O();return e||=o?.editor,E({editor:e,selector:t=>t.editor?.domElement,equalityFn:(t,n)=>t===n,on:"mount"})}var Fe=e=>{let{position:o,children:t,...n}=e,{from:l,to:i}=o||{},s=v(),a=q();return r.jsx(L,{reference:d.useMemo(()=>{if(!(l===void 0||i===void 0))return{element:a?.firstElementChild||void 0,getBoundingClientRect:()=>En(s.prosemirrorView,l,i??l)}},[s,a,l,i]),...n,children:o!==void 0&&t})},De=(e={},o=[])=>d.useMemo(()=>{let t=Xt.create(e);return window&&(window.ProseMirror=t._tiptapEditor),t},o),Le=e=>{let[o,t]=d.useState(!1),n=E({editor:e.editor,selector:({editor:a})=>a.isEmpty}),l=h(),i=d.useCallback(()=>{t(!0)},[]),s=d.useCallback(()=>{t(!1)},[]);return d.useEffect(()=>{e.editable&&e.autoFocus&&e.editor.focus()},[e.autoFocus,e.editable,e.editor]),r.jsxs(r.Fragment,{children:[r.jsx(l.Comments.Editor,{autoFocus:e.autoFocus,className:"bn-comment-editor",editor:e.editor,onFocus:i,onBlur:s,editable:e.editable}),e.actions&&r.jsx("div",{className:"bn-comment-actions-wrapper",children:r.jsx(e.actions,{isFocused:o,isEmpty:n})})]})},{textColor:ui,backgroundColor:mi,...Fo}=en,Ae=Jt.create({blockSpecs:{paragraph:tn()},styleSpecs:Fo}),Ke=Object.defineProperty,Tt=(e,o)=>{let t={};for(var n in e)Ke(t,n,{get:e[n],enumerable:!0});return Ke(t,Symbol.toStringTag,{value:"Module"}),t},Ce;async function Do(){return Ce||(Ce=(async()=>{let[e,o]=await Promise.all([me(()=>import("./module-RjUF93sV.js"),[]),me(()=>import("./native-48B9X9Wg.js"),[])]),t="default"in e?e.default:e,n="default"in o?o.default:o;return await t.init({data:n}),{emojiMart:t,emojiData:n}})(),Ce)}function Lo(e){let o=d.useRef(null),t=d.useRef(null);return t.current&&t.current.update(e),d.useEffect(()=>((async()=>{let{emojiMart:n}=await Do();t.current=new n.Picker({...e,ref:o})})(),()=>{t.current=null}),[]),pe.createElement("div",{ref:o})}var Qe=e=>{let[o,t]=d.useState(!1),n=h(),l=O(),i=l.editor?.portalElement;if(!i)throw Error("Portal root not found");return r.jsxs(n.Generic.Popover.Root,{open:o,portalRoot:i,children:[r.jsx(n.Generic.Popover.Trigger,{children:r.jsx("div",{onClick:s=>{s.preventDefault(),s.stopPropagation(),t(!o),e.onOpenChange?.(!o)},style:{display:"flex",justifyContent:"center",alignItems:"center"},children:e.children})}),r.jsx(n.Generic.Popover.Content,{className:"bn-emoji-picker-popover",variant:"panel-popover",children:r.jsx(Lo,{perLine:7,onClickOutside:()=>{t(!1),e.onOpenChange?.(!1)},onEmojiSelect:s=>{e.onEmojiSelect(s),t(!1),e.onOpenChange?.(!1)},theme:l?.colorSchemePreference})})]})};function _t(e){return fe([e]).get(e)}function fe(e){let o=w(B).userStore,t=d.useCallback(()=>{let l=new Map;for(let i of e){let s=o.getUser(i);s&&l.set(i,s)}return l},[o,e]),n=d.useMemo(()=>({current:t()}),[t]);return d.useSyncExternalStore(d.useCallback(l=>{let i=o.subscribe(s=>{n.current=t(),l()});return o.loadUsers(e),i},[o,t,e,n]),()=>n.current)}var Ao=e=>{let o=h(),t=k(),n=w(B),l=e.comment.reactions.find(c=>c.emoji===e.emoji);if(!l)throw Error("Trying to render reaction badge for non-existing reaction");let[i,s]=d.useState([]),a=fe(i);return r.jsx(o.Generic.Badge.Root,{className:R("bn-badge","bn-comment-reaction"),text:l.userIds.length.toString(),icon:l.emoji,isSelected:n.threadStore.auth.canDeleteReaction(e.comment,l.emoji),onClick:()=>e.onReactionSelect(l.emoji),onMouseEnter:()=>s(l.userIds),mainTooltip:t.comments.reactions.reacted_by,secondaryTooltip:`${Array.from(a.values()).map(c=>c.username).join(`
|
|
2
2
|
`)}`},l.emoji)},Rt=({comment:e,thread:o,showResolveButton:t})=>{let n=w(B),l=k(),i=De({initialContent:e.body,trailingBlock:!1,dictionary:{...l,placeholders:{emptyDocument:l.placeholders.edit_comment}},schema:n.commentEditorSchema||Ae}),s=h(),[a,c]=d.useState(!1),[u,m]=d.useState(!1),p=n.threadStore,g=d.useCallback(()=>{c(!0)},[]),b=d.useCallback(()=>{i.replaceBlocks(i.document,e.body),c(!1)},[i,e.body]),f=d.useCallback(async _=>{await p.updateComment({commentId:e.id,comment:{body:i.document},threadId:o.id}),c(!1)},[e,o.id,i,p]),x=d.useCallback(async()=>{await p.deleteComment({commentId:e.id,threadId:o.id})},[e,o.id,p]),C=d.useCallback(async _=>{p.auth.canAddReaction(e,_)?await p.addReaction({threadId:o.id,commentId:e.id,emoji:_}):p.auth.canDeleteReaction(e,_)&&await p.deleteReaction({threadId:o.id,commentId:e.id,emoji:_})},[p,e,o.id]),T=d.useCallback(async()=>{await p.resolveThread({threadId:o.id})},[o.id,p]),I=d.useCallback(async()=>{await p.unresolveThread({threadId:o.id})},[o.id,p]),F=_t(e.userId);if(!e.body)return null;let Q,te=p.auth.canAddReaction(e),K=p.auth.canDeleteComment(e),ne=p.auth.canUpdateComment(e),xe=t&&(o.resolved?p.auth.canUnresolveThread(o):p.auth.canResolveThread(o));a||(Q=r.jsxs(s.Generic.Toolbar.Root,{className:R("bn-action-toolbar","bn-comment-actions"),variant:"action-toolbar",children:[te&&r.jsx(Qe,{onEmojiSelect:_=>C(_.native),onOpenChange:m,children:r.jsx(s.Generic.Toolbar.Button,{mainTooltip:l.comments.actions.add_reaction,variant:"compact",children:r.jsx(He,{size:16})},"add-reaction")}),xe&&(o.resolved?r.jsx(s.Generic.Toolbar.Button,{mainTooltip:"Re-open",variant:"compact",onClick:I,children:r.jsx(In,{size:16})},"reopen"):r.jsx(s.Generic.Toolbar.Button,{mainTooltip:l.comments.actions.resolve,variant:"compact",onClick:T,children:r.jsx(Mn,{size:16})},"resolve")),(K||ne)&&r.jsxs(s.Generic.Menu.Root,{position:"bottom-start",children:[r.jsx(s.Generic.Menu.Trigger,{children:r.jsx(s.Generic.Toolbar.Button,{mainTooltip:l.comments.actions.more_actions,variant:"compact",children:r.jsx(Pn,{size:16})},"more-actions")}),r.jsxs(s.Generic.Menu.Dropdown,{className:"bn-menu-dropdown",children:[ne&&r.jsx(s.Generic.Menu.Item,{icon:r.jsx(Nn,{}),onClick:g,children:l.comments.actions.edit_comment},"edit-comment"),K&&r.jsx(s.Generic.Menu.Item,{icon:r.jsx(Bn,{}),onClick:x,children:l.comments.actions.delete_comment},"delete-comment")]})]})]}));let G=e.createdAt.toLocaleDateString(void 0,{month:"short",day:"numeric"});if(!e.body)throw Error("soft deletes are not yet supported");return r.jsx(s.Comments.Comment,{authorInfo:F??"loading",timeString:G,edited:e.updatedAt.getTime()!==e.createdAt.getTime(),showActions:"hover",actions:Q,className:"bn-thread-comment",emojiPickerOpen:u,children:r.jsx(Le,{autoFocus:a,editor:i,editable:a,actions:e.reactions.length>0||a?({isEmpty:_})=>r.jsxs(r.Fragment,{children:[e.reactions.length>0&&!a&&r.jsxs(s.Generic.Badge.Group,{className:R("bn-badge-group","bn-comment-reactions"),children:[e.reactions.map(H=>r.jsx(Ao,{comment:e,emoji:H.emoji,onReactionSelect:C},H.emoji)),te&&r.jsx(Qe,{onEmojiSelect:H=>C(H.native),onOpenChange:m,children:r.jsx(s.Generic.Badge.Root,{className:R("bn-badge","bn-comment-add-reaction"),text:"+",icon:r.jsx(He,{size:16}),mainTooltip:l.comments.actions.add_reaction})})]}),a&&r.jsxs(s.Generic.Toolbar.Root,{variant:"action-toolbar",className:R("bn-action-toolbar","bn-comment-actions"),children:[r.jsx(s.Generic.Toolbar.Button,{mainTooltip:l.comments.save_button_text,variant:"compact",onClick:f,isDisabled:_,children:l.comments.save_button_text}),r.jsx(s.Generic.Toolbar.Button,{className:"bn-button",mainTooltip:l.comments.cancel_button_text,variant:"compact",onClick:b,children:l.comments.cancel_button_text})]})]}):void 0})})},Et=({thread:e,maxCommentsBeforeCollapse:o})=>{let t=h(),n=k(),l=fe(e.resolvedBy?[e.resolvedBy]:[]),i=e.comments.map((s,a)=>r.jsx(Rt,{thread:e,comment:s,showResolveButton:a===0},s.id+JSON.stringify(s.body||"{}")));if(e.resolved&&e.resolvedUpdatedAt&&e.resolvedBy){if(!l.get(e.resolvedBy))throw Error(`User ${e.resolvedBy} resolved thread ${e.id}, but their data could not be found.`);let s=e.comments.findLastIndex(a=>e.resolvedUpdatedAt.getTime()>a.createdAt.getTime())+1;i.splice(s,0,r.jsx(t.Comments.Comment,{className:"bn-thread-comment",authorInfo:e.resolvedBy&&l.get(e.resolvedBy)||"loading",timeString:e.resolvedUpdatedAt.toLocaleDateString(void 0,{month:"short",day:"numeric"}),edited:!1,showActions:!1,children:r.jsx("div",{className:"bn-resolved-text",children:n.comments.sidebar.marked_as_resolved})},"resolved-comment"))}return o&&i.length>o&&i.splice(1,i.length-2,r.jsx(t.Comments.ExpandSectionsPrompt,{className:"bn-thread-expand-prompt",children:n.comments.sidebar.more_replies(e.comments.length-2)},"expand-prompt")),i},ze=({thread:e,selected:o,referenceText:t,maxCommentsBeforeCollapse:n,onFocus:l,onBlur:i,tabIndex:s})=>{let a=h(),c=k(),u=w(B),m=De({trailingBlock:!1,dictionary:{...c,placeholders:{emptyDocument:c.placeholders.comment_reply}},schema:u.commentEditorSchema||Ae}),p=d.useCallback(async()=>{await u.threadStore.addComment({comment:{body:m.document},threadId:e.id}),m.removeBlocks(m.document)},[u,m,e.id]);return r.jsxs(a.Comments.Card,{className:"bn-thread",headerText:t,onFocus:l,onBlur:i,selected:o,tabIndex:s,children:[r.jsx(a.Comments.CardSection,{className:"bn-thread-comments",children:r.jsx(Et,{thread:e,maxCommentsBeforeCollapse:o?void 0:n||5})}),o&&r.jsx(a.Comments.CardSection,{className:"bn-thread-composer",children:r.jsx(Le,{autoFocus:!1,editable:!0,editor:m,actions:({isEmpty:g})=>g?null:r.jsx(a.Generic.Toolbar.Root,{variant:"action-toolbar",className:R("bn-action-toolbar","bn-comment-actions"),children:r.jsx(a.Generic.Toolbar.Button,{mainTooltip:c.comments.save_button_text,variant:"compact",isDisabled:g,onClick:p,children:c.comments.save_button_text})})})})]})};function It(){let e=w(B).threadStore,o=d.useRef(void 0);return o.current||=e.getThreads(),d.useSyncExternalStore(d.useCallback(t=>e.subscribe(n=>{o.current=n,t()}),[e]),()=>o.current)}var zo=Tt({default:()=>Mt});function Mt(e){let o=v(),t=w(B),n=y(B,{editor:o,selector:c=>c.selectedThreadId?{id:c.selectedThreadId,position:c.threadPositions.get(c.selectedThreadId)}:void 0}),l=It(),i=d.useMemo(()=>n?l.get(n.id):void 0,[n,l]),s=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:!!n,onOpenChange:(c,u,m)=>{m==="escape-key"&&o.focus(),c||t.selectThread(void 0)},placement:"bottom",middleware:[A(10),J(),ee()],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{style:{zIndex:30},...e.floatingUIOptions?.elementProps}}),[t,o,e.floatingUIOptions,n]),a=e.floatingThread||ze;return r.jsx(Fe,{position:n?.position,...s,children:i&&r.jsx(a,{thread:i,selected:!0})})}const Go=Object.freeze(Object.defineProperty({__proto__:null,a:Et,c:fe,i:ze,n:zo,o:Rt,r:It,s:_t,t:Mt},Symbol.toStringTag,{value:"Module"}));function Pt(){let e=v(),o=w(B),t=h(),n=k(),l=De({trailingBlock:!1,dictionary:{...n,placeholders:{emptyDocument:n.placeholders.new_comment}},schema:o.commentEditorSchema||Ae});return r.jsx(t.Comments.Card,{className:"bn-thread",children:r.jsx(Le,{autoFocus:!0,editable:!0,editor:l,actions:({isEmpty:i})=>r.jsx(t.Generic.Toolbar.Root,{className:R("bn-action-toolbar","bn-comment-actions"),variant:"action-toolbar",children:r.jsx(t.Generic.Toolbar.Button,{className:"bn-button",mainTooltip:"Save",variant:"compact",isDisabled:i,onClick:async()=>{await o.createThread({initialComment:{body:l.document}}),o.stopPendingComment(),e.transact(s=>{s.setSelection(On.create(s.doc,s.selection.to))}),e.focus()},children:"Save"})})})})}var $o=Tt({default:()=>Nt});function Nt(e){let o=v(),t=w(B),n=y(B,{editor:o,selector:a=>a.pendingComment}),l=E({editor:o,selector:({editor:a})=>n?{from:a.prosemirrorState.selection.from,to:a.prosemirrorState.selection.to}:void 0}),i=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:!!n,onOpenChange:a=>{a||(t.stopPendingComment(),o.focus())},placement:"bottom",middleware:[A(10),J(),ee()],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!1},elementProps:{style:{zIndex:60},...e.floatingUIOptions?.elementProps}}),[t,o,n,e.floatingUIOptions]),s=e.floatingComposer||Pt;return r.jsx(Fe,{position:l,...i,children:r.jsx(s,{})})}const Ho=Object.freeze(Object.defineProperty({__proto__:null,n:$o,r:Pt,t:Nt},Symbol.toStringTag,{value:"Module"}));var Bt=e=>{let{blockId:o,children:t,...n}=e,l=v();return r.jsx(L,{reference:d.useMemo(()=>l.transact(i=>{if(!o)return;let s=et(o,i.doc);if(!s)return;let{node:a}=l.prosemirrorView.domAtPos(s.posBeforeNode+1);if(a instanceof Element)return{element:a}}),[l,o]),...n,children:o!==void 0&&t})},Uo=e=>{let o=h(),t=k(),n=v(),l=n.getBlock(e.blockId),[i,s]=d.useState(""),a=d.useCallback(m=>{s(m.currentTarget.value)},[]),c=d.useCallback(m=>{m.key==="Enter"&&!m.nativeEvent.isComposing&&(m.preventDefault(),n.updateBlock(l.id,{props:{name:Ge(i),url:i}}))},[n,l.id,i]),u=d.useCallback(()=>{n.updateBlock(l.id,{props:{name:Ge(i),url:i}})},[n,l.id,i]);return r.jsxs(o.FilePanel.TabPanel,{className:"bn-tab-panel",children:[r.jsx(o.FilePanel.TextInput,{className:"bn-text-input",placeholder:t.file_panel.embed.url_placeholder,value:i,onChange:a,onKeyDown:c,"data-test":"embed-input"}),r.jsx(o.FilePanel.Button,{className:"bn-button",onClick:u,"data-test":"embed-input-button",children:t.file_panel.embed.embed_button[l.type]||t.file_panel.embed.embed_button.file})]})},Vo=e=>{let o=h(),t=k(),{setLoading:n}=e,l=v(),i=l.getBlock(e.blockId),[s,a]=d.useState(!1);d.useEffect(()=>{s&&setTimeout(()=>{a(!1)},3e3)},[s]);let c=d.useCallback(p=>{if(p===null)return;async function g(b){if(n(!0),l.uploadFile!==void 0)try{let f=await l.uploadFile(b,e.blockId);typeof f=="string"&&(f={props:{name:b.name,url:f}}),l.updateBlock(e.blockId,f)}catch{a(!0)}finally{n(!1)}}g(p)},[e.blockId,l,n]),u=l.schema.blockSpecs[i.type],m=u.implementation.meta?.fileBlockAccept?.length?u.implementation.meta.fileBlockAccept.join(","):"*/*";return r.jsxs(o.FilePanel.TabPanel,{className:"bn-tab-panel",children:[r.jsx(o.FilePanel.FileInput,{className:"bn-file-input","data-test":"upload-input",accept:m,placeholder:t.file_panel.upload.file_placeholder[i.type]||t.file_panel.upload.file_placeholder.file,value:null,onChange:c}),s&&r.jsx("div",{className:"bn-error-text",children:t.file_panel.upload.upload_error})]})},Ot=e=>{let o=h(),t=k(),n=v(),[l,i]=d.useState(!1),s=e.tabs??[...n.uploadFile===void 0?[]:[{name:t.file_panel.upload.title,tabPanel:r.jsx(Vo,{blockId:e.blockId,setLoading:i})}],{name:t.file_panel.embed.title,tabPanel:r.jsx(Uo,{blockId:e.blockId})}],[a,c]=d.useState(e.defaultOpenTab||s[0].name);return r.jsx(o.FilePanel.Root,{className:"bn-panel",defaultOpenTab:a,openTab:a,setOpenTab:c,tabs:s,loading:l})},qo=e=>{let o=v(),t=w(_e),n=y(_e),l=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:!!n,onOpenChange:(s,a,c)=>{s||t.closeMenu(),c==="escape-key"&&o.focus()},middleware:[A(10),ee()],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{style:{zIndex:90},...e.floatingUIOptions?.elementProps}}),[n,o,t,e.floatingUIOptions]),i=e.filePanel||Ot;return r.jsx(Bt,{blockId:n,...l,children:n&&r.jsx(i,{blockId:n})})},Ko={bold:Xn,italic:Zn,underline:Yn,strike:Wn,code:Qn};function Qo(e,o){return e in o.schema.styleSchema&&o.schema.styleSchema[e].type===e&&o.schema.styleSchema[e].propSchema==="boolean"}var re=e=>{let o=k(),t=h(),n=v(),l=E({editor:n,selector:({editor:a})=>{if(!(!a.isEditable||!Qo(e.basicTextStyle,a)||!(a.getSelection()?.blocks||[a.getTextCursorPosition().block]).find(c=>c.content!==void 0)))return e.basicTextStyle in a.getActiveStyles()?{active:!0}:{active:!1}}}),i=d.useCallback(a=>{n.focus(),n.toggleStyles({[a]:!0})},[n,e]);if(l===void 0)return null;let s=Ko[e.basicTextStyle];return r.jsx(t.FormattingToolbar.Button,{className:"bn-button","data-test":e.basicTextStyle,onClick:()=>i(e.basicTextStyle),isSelected:l.active,label:o.formatting_toolbar[e.basicTextStyle].tooltip,mainTooltip:o.formatting_toolbar[e.basicTextStyle].tooltip,secondaryTooltip:ge(o.formatting_toolbar[e.basicTextStyle].secondary_tooltip,o.generic.ctrl_shortcut),icon:r.jsx(s,{})})},Ee=e=>{let o=e.textColor||"default",t=e.backgroundColor||"default",n=e.size||16;return r.jsx("div",{className:"bn-color-icon","data-background-color":t,"data-text-color":o,style:d.useMemo(()=>({pointerEvents:"none",fontSize:(n*.75).toString()+"px",height:n.toString()+"px",lineHeight:n.toString()+"px",textAlign:"center",width:n.toString()+"px"}),[n]),children:"A"})},We=["default","gray","brown","red","orange","yellow","green","blue","purple","pink"],he=e=>{let o=h(),t=k();return r.jsxs(r.Fragment,{children:[r.jsx(()=>e.text?r.jsxs(r.Fragment,{children:[r.jsx(o.Generic.Menu.Label,{children:t.color_picker.text_title}),We.map(n=>r.jsx(o.Generic.Menu.Item,{onClick:()=>{e.onClick&&e.onClick(),e.text.setColor(n)},"data-test":"text-color-"+n,icon:r.jsx(Ee,{textColor:n,size:e.iconSize}),checked:e.text.color===n,children:t.color_picker.colors[n]},"text-color-"+n))]}):null,{}),r.jsx(()=>e.background?r.jsxs(r.Fragment,{children:[r.jsx(o.Generic.Menu.Label,{children:t.color_picker.background_title}),We.map(n=>r.jsx(o.Generic.Menu.Item,{onClick:()=>{e.onClick&&e.onClick(),e.background.setColor(n)},"data-test":"background-color-"+n,icon:r.jsx(Ee,{backgroundColor:n,size:e.iconSize}),checked:e.background.color===n,children:t.color_picker.colors[n]},"background-color-"+n))]}):null,{})]})};function le(e,o){return`${e}Color`in o.schema.styleSchema&&o.schema.styleSchema[`${e}Color`].type===`${e}Color`&&o.schema.styleSchema[`${e}Color`].propSchema==="string"}var Wo=()=>{let e=h(),o=k(),t=v(),n=le("text",t),l=le("background",t),i=E({editor:t,selector:({editor:c})=>{if(!c.isEditable||!(c.getSelection()?.blocks||[c.getTextCursorPosition().block]).find(p=>p.content!==void 0))return;let u=le("text",c),m=le("background",c);if(!(!u&&!m))return{textColor:u?c.getActiveStyles().textColor||"default":void 0,backgroundColor:m?c.getActiveStyles().backgroundColor||"default":void 0}}}),s=d.useCallback(c=>{if(!n)throw Error("Tried to set text color, but style does not exist in editor schema.");c==="default"?t.removeStyles({textColor:c}):t.addStyles({textColor:c}),setTimeout(()=>{t.focus()})},[t,n]),a=d.useCallback(c=>{if(!l)throw Error("Tried to set background color, but style does not exist in editor schema.");c==="default"?t.removeStyles({backgroundColor:c}):t.addStyles({backgroundColor:c}),setTimeout(()=>{t.focus()})},[l,t]);return i===void 0?null:r.jsxs(e.Generic.Menu.Root,{children:[r.jsx(e.Generic.Menu.Trigger,{children:r.jsx(e.FormattingToolbar.Button,{className:"bn-button","data-test":"colors",label:o.formatting_toolbar.colors.tooltip,mainTooltip:o.formatting_toolbar.colors.tooltip,icon:r.jsx(Ee,{textColor:i.textColor,backgroundColor:i.backgroundColor,size:20})})}),r.jsx(e.Generic.Menu.Dropdown,{className:"bn-menu-dropdown bn-color-picker-dropdown",children:r.jsx(he,{text:i.textColor?{color:i.textColor,setColor:s}:void 0,background:i.backgroundColor?{color:i.backgroundColor,setColor:a}:void 0})})]})},Ye=e=>{for(let o of an)if(e.startsWith(o))return e;return`${sn}://${e}`},Ft=e=>{let o=h(),t=k(),{editLink:n}=w(be),{url:l,text:i,showTextField:s}=e,[a,c]=d.useState(l),[u,m]=d.useState(i);d.useEffect(()=>{c(l),m(i)},[i,l]);let p=d.useCallback(x=>{x.key==="Enter"&&!x.nativeEvent.isComposing&&(x.preventDefault(),n(Ye(a),u,e.range.from),e.setToolbarOpen?.(!1),e.setToolbarPositionFrozen?.(!1))},[n,a,u,e]),g=d.useCallback(x=>c(x.currentTarget.value),[]),b=d.useCallback(x=>m(x.currentTarget.value),[]),f=d.useCallback(()=>{n(Ye(a),u,e.range.from),e.setToolbarOpen?.(!1),e.setToolbarPositionFrozen?.(!1)},[n,a,u,e]);return r.jsxs(o.Generic.Form.Root,{children:[r.jsx(o.Generic.Form.TextInput,{className:"bn-text-input",name:"url",icon:r.jsx(gt,{}),autoFocus:!0,placeholder:t.link_toolbar.form.url_placeholder,value:a,onKeyDown:p,onChange:g,onSubmit:f}),s!==!1&&r.jsx(o.Generic.Form.TextInput,{className:"bn-text-input",name:"title",icon:r.jsx(Pe,{}),placeholder:t.link_toolbar.form.title_placeholder,value:u,onKeyDown:p,onChange:b,onSubmit:f})]})};function Yo(e){return"link"in e.schema.inlineContentSchema&&e.schema.inlineContentSchema.link==="link"}var Zo=()=>{let e=v(),o=q(),t=h(),n=k(),l=w(Y),{showSelection:i}=w(rn),[s,a]=d.useState(!1);d.useEffect(()=>(i(s,"createLinkButton"),()=>i(!1,"createLinkButton")),[s,i]);let c=E({editor:e,selector:({editor:u})=>{if(!(!u.isEditable||!Yo(u)||ln(u.prosemirrorState.selection)||!(u.getSelection()?.blocks||[u.getTextCursorPosition().block]).find(m=>m.content!==void 0)))return{url:u.getSelectedLinkUrl(),text:u.getSelectedText(),range:{from:u.prosemirrorState.selection.from,to:u.prosemirrorState.selection.to}}}});return d.useEffect(()=>{a(!1)},[c]),d.useEffect(()=>{let u=m=>{(m.ctrlKey||m.metaKey)&&m.key==="k"&&(a(!0),m.preventDefault())};return o?.addEventListener("keydown",u),()=>{o?.removeEventListener("keydown",u)}},[o]),c===void 0?null:r.jsxs(t.Generic.Popover.Root,{open:s,onOpenChange:a,children:[r.jsx(t.Generic.Popover.Trigger,{children:r.jsx(t.FormattingToolbar.Button,{className:"bn-button","data-test":"createLink",label:n.formatting_toolbar.link.tooltip,mainTooltip:n.formatting_toolbar.link.tooltip,secondaryTooltip:ge(n.formatting_toolbar.link.secondary_tooltip,n.generic.ctrl_shortcut),icon:r.jsx(gt,{}),onClick:()=>a(u=>!u)})}),r.jsx(t.Generic.Popover.Content,{className:"bn-popover-content bn-form-popover",variant:"form-popover",children:r.jsx(Ft,{url:c.url||"",text:c.text,range:c.range,showTextField:!1,setToolbarOpen:u=>l.store.setState(u)})})]})},Xo=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:c})=>{if(!c.isEditable)return;let u=c.getSelection()?.blocks||[c.getTextCursorPosition().block];if(u.length!==1)return;let m=u[0];if(P(m,c,m.type,{url:"string",caption:"string"}))return m}}),[l,i]=d.useState(!1),s=d.useCallback(c=>{n!==void 0&&U(t,n.type,{caption:"string"})&&t.updateBlock(n.id,{props:{caption:c.currentTarget.value}})},[n,t]),a=d.useCallback(c=>{c.key==="Enter"&&!c.nativeEvent.isComposing&&(c.preventDefault(),i(!1))},[]);return n===void 0?null:r.jsxs(o.Generic.Popover.Root,{open:l,onOpenChange:i,children:[r.jsx(o.Generic.Popover.Trigger,{children:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.file_caption.tooltip,mainTooltip:e.formatting_toolbar.file_caption.tooltip,icon:r.jsx(Ue,{}),onClick:()=>i(c=>!c)})}),r.jsx(o.Generic.Popover.Content,{className:"bn-popover-content bn-form-popover",variant:"form-popover",children:r.jsx(o.Generic.Form.Root,{children:r.jsx(o.Generic.Form.TextInput,{name:"file-caption",icon:r.jsx(Ue,{}),value:n.props.caption,autoFocus:!0,placeholder:e.formatting_toolbar.file_caption.input_placeholder,onKeyDown:a,onChange:s})})})]})},Jo=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:i})=>{if(!i.isEditable)return;let s=i.getSelection()?.blocks||[i.getTextCursorPosition().block];if(s.length!==1)return;let a=s[0];if(P(a,i,a.type,{url:"string"}))return a}}),l=d.useCallback(()=>{n!==void 0&&(t.focus(),t.removeBlocks([n.id]))},[n,t]);return n===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.file_delete.tooltip[n.type]||e.formatting_toolbar.file_delete.tooltip.file,mainTooltip:e.formatting_toolbar.file_delete.tooltip[n.type]||e.formatting_toolbar.file_delete.tooltip.file,icon:r.jsx(Vn,{}),onClick:l})},er=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:c})=>{if(!c.isEditable)return;let u=c.getSelection()?.blocks||[c.getTextCursorPosition().block];if(u.length!==1)return;let m=u[0];if(P(m,c,m.type,{url:"string",name:"string"}))return m}}),[l,i]=d.useState(!1),s=d.useCallback(c=>{n!==void 0&&U(t,n.type,{name:"string"})&&t.updateBlock(n.id,{props:{name:c.currentTarget.value}})},[n,t]),a=d.useCallback(c=>{c.key==="Enter"&&!c.nativeEvent.isComposing&&(c.preventDefault(),i(!1))},[]);return n===void 0?null:r.jsxs(o.Generic.Popover.Root,{open:l,onOpenChange:i,children:[r.jsx(o.Generic.Popover.Trigger,{children:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.file_rename.tooltip[n.type]||e.formatting_toolbar.file_rename.tooltip.file,mainTooltip:e.formatting_toolbar.file_rename.tooltip[n.type]||e.formatting_toolbar.file_rename.tooltip.file,icon:r.jsx(Ve,{}),onClick:()=>i(c=>!c)})}),r.jsx(o.Generic.Popover.Content,{className:"bn-popover-content bn-form-popover",variant:"form-popover",children:r.jsx(o.Generic.Form.Root,{children:r.jsx(o.Generic.Form.TextInput,{name:"file-name",icon:r.jsx(Ve,{}),value:n.props.name,autoFocus:!0,placeholder:e.formatting_toolbar.file_rename.input_placeholder[n.type]||e.formatting_toolbar.file_rename.input_placeholder.file,onKeyDown:a,onChange:s})})})]})},tr=()=>{let e=k(),o=h(),t=E({editor:v(),selector:({editor:n})=>{if(!n.isEditable)return;let l=n.getSelection()?.blocks||[n.getTextCursorPosition().block];if(l.length!==1)return;let i=l[0];if(P(i,n,i.type,{url:"string"}))return i}});return t===void 0?null:r.jsxs(o.Generic.Popover.Root,{position:"bottom",children:[r.jsx(o.Generic.Popover.Trigger,{children:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",mainTooltip:e.formatting_toolbar.file_replace.tooltip[t.type]||e.formatting_toolbar.file_replace.tooltip.file,label:e.formatting_toolbar.file_replace.tooltip[t.type]||e.formatting_toolbar.file_replace.tooltip.file,icon:r.jsx(Un,{})})}),r.jsx(o.Generic.Popover.Content,{className:"bn-popover-content bn-panel-popover",variant:"panel-popover",children:r.jsx(Ot,{blockId:t.id})})]})},nr=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:i})=>{if(!(!i.isEditable||!(i.getSelection()?.blocks||[i.getTextCursorPosition().block]).find(s=>s.content!==void 0)))return{canNestBlock:i.canNestBlock()}}}),l=d.useCallback(()=>{n!==void 0&&n.canNestBlock&&(t.focus(),t.nestBlock())},[t,n]);return n===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button","data-test":"nestBlock",onClick:l,isDisabled:!n.canNestBlock,label:e.formatting_toolbar.nest.tooltip,mainTooltip:e.formatting_toolbar.nest.tooltip,secondaryTooltip:ge(e.formatting_toolbar.nest.secondary_tooltip,e.generic.ctrl_shortcut),icon:r.jsx(oo,{})})},or=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:i})=>{if(!(!i.isEditable||!(i.getSelection()?.blocks||[i.getTextCursorPosition().block]).find(s=>s.content!==void 0)))return{canUnnestBlock:i.canUnnestBlock()}}}),l=d.useCallback(()=>{n!==void 0&&n.canUnnestBlock&&(t.focus(),t.unnestBlock())},[t,n]);return n===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button","data-test":"unnestBlock",onClick:l,isDisabled:!n.canUnnestBlock,label:e.formatting_toolbar.unnest.tooltip,mainTooltip:e.formatting_toolbar.unnest.tooltip,secondaryTooltip:ge(e.formatting_toolbar.unnest.secondary_tooltip,e.generic.ctrl_shortcut),icon:r.jsx(ro,{})})},rr=e=>[{name:e.slash_menu.paragraph.title,type:"paragraph",icon:Pe},{name:e.slash_menu.heading.title,type:"heading",props:{level:1,isToggleable:!1},icon:ue},{name:e.slash_menu.heading_2.title,type:"heading",props:{level:2,isToggleable:!1},icon:de},{name:e.slash_menu.heading_3.title,type:"heading",props:{level:3,isToggleable:!1},icon:ce},{name:e.slash_menu.heading_4.title,type:"heading",props:{level:4,isToggleable:!1},icon:mt},{name:e.slash_menu.heading_5.title,type:"heading",props:{level:5,isToggleable:!1},icon:ut},{name:e.slash_menu.heading_6.title,type:"heading",props:{level:6,isToggleable:!1},icon:dt},{name:e.slash_menu.toggle_heading.title,type:"heading",props:{level:1,isToggleable:!0},icon:ue},{name:e.slash_menu.toggle_heading_2.title,type:"heading",props:{level:2,isToggleable:!0},icon:de},{name:e.slash_menu.toggle_heading_3.title,type:"heading",props:{level:3,isToggleable:!0},icon:ce},{name:e.slash_menu.quote.title,type:"quote",icon:ct},{name:e.slash_menu.toggle_list.title,type:"toggleListItem",icon:st},{name:e.slash_menu.bullet_list.title,type:"bulletListItem",icon:it},{name:e.slash_menu.numbered_list.title,type:"numberedListItem",icon:at},{name:e.slash_menu.check_list.title,type:"checkListItem",icon:lt}],lr=e=>{let o=h(),t=v(),n=E({editor:t,selector:({editor:a})=>a.getSelection()?.blocks||[a.getTextCursorPosition().block]}),l=n[0],i=d.useMemo(()=>(e.items||rr(t.dictionary)).filter(a=>U(t,a.type,Object.fromEntries(Object.entries(a.props||{}).map(([c,u])=>[c,typeof u])))),[t,e.items]),s=d.useMemo(()=>i.map(a=>{let c=a.icon,u=a.type===l.type,m=Object.entries(a.props||{}).filter(([p,g])=>g!==l.props[p]).length===0;return{text:a.name,icon:r.jsx(c,{size:16}),onClick:()=>{t.focus(),t.transact(()=>{for(let p of n)t.updateBlock(p,{type:a.type,props:a.props})})},isSelected:u&&m}}),[t,i,l.props,l.type,n]);return!d.useMemo(()=>s.find(a=>a.isSelected)!==void 0,[s])||!t.isEditable?null:r.jsx(o.FormattingToolbar.Select,{className:"bn-select",items:s})},ir=()=>{let e=k(),o=h(),t=w("comments"),{store:n}=w(Y),l=d.useCallback(()=>{t.startPendingComment(),n.setState(!1)},[t,n]);return r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.comment.tooltip,mainTooltip:e.formatting_toolbar.comment.tooltip,icon:r.jsx(bt,{}),onClick:l})},ar=()=>v().getExtension("comments")?r.jsx(ir,{}):null,sr=()=>{let e=k(),o=h(),t=v(),n=d.useCallback(()=>{t._tiptapEditor.chain().focus().addPendingComment().run()},[t]);return!t._tiptapEditor.commands.addPendingComment||!t.isEditable?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.comment.tooltip,mainTooltip:e.formatting_toolbar.comment.tooltip,icon:r.jsx(bt,{}),onClick:n})};function Ie(e,o){try{let t=new URL(e,o);if(t.protocol!=="javascript:")return t.href}catch{}return"#"}var cr=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:i})=>{let s=i.getSelection()?.blocks||[i.getTextCursorPosition().block];if(s.length!==1)return;let a=s[0];if(P(a,i,a.type,{url:"string"}))return a}}),l=d.useCallback(()=>{n!==void 0&&(t.focus(),t.resolveFileUrl?t.resolveFileUrl(n.props.url).then(i=>window.open(Ie(i,window.location.href))):window.open(Ie(n.props.url,window.location.href)))},[n,t]);return n===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.file_download.tooltip[n.type]||e.formatting_toolbar.file_download.tooltip.file,mainTooltip:e.formatting_toolbar.file_download.tooltip[n.type]||e.formatting_toolbar.file_download.tooltip.file,icon:r.jsx(qn,{}),onClick:l})},dr=()=>{let e=k(),o=h(),t=v(),n=E({editor:t,selector:({editor:i})=>{if(!i.isEditable)return;let s=i.getSelection()?.blocks||[i.getTextCursorPosition().block];if(s.length!==1)return;let a=s[0];if(P(a,i,a.type,{url:"string",showPreview:"boolean"}))return a}}),l=d.useCallback(()=>{n!==void 0&&U(t,n.type,{showPreview:"boolean"})&&t.updateBlock(n.id,{props:{showPreview:!n.props.showPreview}})},[n,t]);return n===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:"Toggle preview",mainTooltip:e.formatting_toolbar.file_preview_toggle.tooltip,icon:r.jsx(Kn,{}),isSelected:n.props.showPreview,onClick:l})},ur=()=>{let e=k(),o=h(),t=v(),n=w(S),l=E({editor:t,selector:({editor:s})=>{if(!s.isEditable||!s.settings.tables.splitCells)return;let a=s.getSelection()?.blocks||[s.getTextCursorPosition().block];if(a.length!==1)return;let c=a[0];if(c.type==="table")return{mergeDirection:n.getMergeDirection(c)}}}),i=d.useCallback(()=>{n?.mergeCells()},[n]);return l===void 0?null:r.jsx(o.FormattingToolbar.Button,{className:"bn-button",label:e.formatting_toolbar.table_cell_merge.tooltip,mainTooltip:e.formatting_toolbar.table_cell_merge.tooltip,icon:l.mergeDirection==="horizontal"?r.jsx(lo,{}):r.jsx(io,{}),onClick:i})},mr=()=>v().getExtension(S)?r.jsx(ur,{}):null,pr={left:no,center:to,right:eo,justify:Jn},ke=e=>{let o=h(),t=k(),n=v(),l=E({editor:n,selector:({editor:a})=>{if(!a.isEditable)return;let c=a.getSelection()?.blocks||[a.getTextCursorPosition().block],u=c[0];if(P(u,a,u.type,{textAlignment:ie.textAlignment}))return{textAlignment:u.props.textAlignment,blocks:c};if(c.length===1&&P(u,a,"table"))return a.getExtension(S)?.getCellSelection()?{textAlignment:Z(u.content.rows[0].cells[0]).props.textAlignment,blocks:[u]}:void 0}}),i=d.useCallback(a=>{if(l!==void 0){n.focus();for(let c of l.blocks)if(P(c,n,c.type,{textAlignment:ie.textAlignment})&&U(n,c.type,{textAlignment:ie.textAlignment}))n.updateBlock(c,{props:{textAlignment:a}});else if(c.type==="table"){let u=n.getExtension(S)?.getCellSelection();if(!u)continue;let m=c.content.rows.map(p=>({...p,cells:p.cells.map(g=>Z(g))}));u.cells.forEach(({row:p,col:g})=>{m[p].cells[g].props.textAlignment=a}),n.updateBlock(c,{type:"table",content:{...c.content,type:"tableContent",rows:m}}),n.setTextCursorPosition(c)}}},[n,l]);if(l===void 0)return null;let s=pr[e.textAlignment];return r.jsx(o.FormattingToolbar.Button,{className:"bn-button","data-test":`alignText${e.textAlignment.slice(0,1).toUpperCase()+e.textAlignment.slice(1)}`,onClick:()=>i(e.textAlignment),isSelected:l.textAlignment===e.textAlignment,label:t.formatting_toolbar[`align_${e.textAlignment}`].tooltip,mainTooltip:t.formatting_toolbar[`align_${e.textAlignment}`].tooltip,icon:r.jsx(s,{})})},Dt=e=>[r.jsx(lr,{items:e},"blockTypeSelect"),r.jsx(mr,{},"tableCellMergeButton"),r.jsx(Xo,{},"fileCaptionButton"),r.jsx(tr,{},"replaceFileButton"),r.jsx(er,{},"fileRenameButton"),r.jsx(Jo,{},"fileDeleteButton"),r.jsx(cr,{},"fileDownloadButton"),r.jsx(dr,{},"filePreviewButton"),r.jsx(re,{basicTextStyle:"bold"},"boldStyleButton"),r.jsx(re,{basicTextStyle:"italic"},"italicStyleButton"),r.jsx(re,{basicTextStyle:"underline"},"underlineStyleButton"),r.jsx(re,{basicTextStyle:"strike"},"strikeStyleButton"),r.jsx(ke,{textAlignment:"left"},"textAlignLeftButton"),r.jsx(ke,{textAlignment:"center"},"textAlignCenterButton"),r.jsx(ke,{textAlignment:"right"},"textAlignRightButton"),r.jsx(Wo,{},"colorStyleButton"),r.jsx(nr,{},"nestBlockButton"),r.jsx(or,{},"unnestBlockButton"),r.jsx(Zo,{},"createLinkButton"),r.jsx(ar,{},"addCommentButton"),r.jsx(sr,{},"addTiptapCommentButton")],Lt=e=>r.jsx(h().FormattingToolbar.Root,{className:"bn-toolbar bn-formatting-toolbar",children:e.children||Dt(e.blockTypeSelectItems)}),gr=e=>{switch(e){case"left":return"top-start";case"center":return"top";case"right":return"top-end";default:return"top-start"}},At=e=>{let o=v(),t=w(Y,{editor:o}),n=y(Y,{editor:o}),l=E({editor:o,selector:({editor:c})=>t.store.state?{from:c.prosemirrorState.selection.from,to:c.prosemirrorState.selection.to}:void 0}),i=E({editor:o,selector:({editor:c})=>{let u=c.getTextCursorPosition().block;return P(u,c,u.type,{textAlignment:ie.textAlignment})?gr(u.props.textAlignment):"top-start"}}),s=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:n,onOpenChange:(c,u,m)=>{t.store.setState(c),m==="escape-key"&&o.focus()},placement:i,middleware:[A(10),J(),ee()],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{style:{zIndex:40},...e.floatingUIOptions?.elementProps}}),[n,i,e.floatingUIOptions,t.store,o]),a=e.formattingToolbar||Lt;return r.jsx(Fe,{position:l,...s,children:n&&r.jsx(a,{})})},br=e=>{let o=h(),t=k(),{deleteLink:n}=w(be);return r.jsx(o.LinkToolbar.Button,{className:"bn-button",label:t.link_toolbar.delete.tooltip,mainTooltip:t.link_toolbar.delete.tooltip,isSelected:!1,onClick:()=>{n(e.range.from),e.setToolbarOpen?.(!1)},icon:r.jsx(mo,{})})},fr=e=>{let o=h(),t=k();return r.jsxs(o.Generic.Popover.Root,{onOpenChange:e.setToolbarPositionFrozen,children:[r.jsx(o.Generic.Popover.Trigger,{children:r.jsx(o.LinkToolbar.Button,{className:"bn-button",mainTooltip:t.link_toolbar.edit.tooltip,isSelected:!1,children:t.link_toolbar.edit.text})}),r.jsx(o.Generic.Popover.Content,{className:"bn-popover-content bn-form-popover",variant:"form-popover",children:r.jsx(Ft,{url:e.url,text:e.text,range:e.range,setToolbarOpen:e.setToolbarOpen,setToolbarPositionFrozen:e.setToolbarPositionFrozen})})]})},hr=e=>{let o=h(),t=k();return r.jsx(o.LinkToolbar.Button,{className:"bn-button",mainTooltip:t.link_toolbar.open.tooltip,label:t.link_toolbar.open.tooltip,isSelected:!1,onClick:()=>{window.open(Ie(e.url,window.location.href),"_blank")},icon:r.jsx(uo,{})})},xr=e=>r.jsx(h().LinkToolbar.Root,{className:"bn-toolbar bn-link-toolbar",children:e.children||r.jsxs(r.Fragment,{children:[r.jsx(fr,{url:e.url,text:e.text,range:e.range,setToolbarOpen:e.setToolbarOpen,setToolbarPositionFrozen:e.setToolbarPositionFrozen}),r.jsx(hr,{url:e.url}),r.jsx(br,{range:e.range,setToolbarOpen:e.setToolbarOpen})]})}),vr=e=>{let o=v(),[t,n]=d.useState(!1),[l,i]=d.useState(!1),s=q(),a=w(be),[c,u]=d.useState(void 0);d.useEffect(()=>{let b=()=>{let T=a.getLinkAtSelection();if(!T){u(void 0),l||n(!1);return}u({cursorType:"text",url:T.mark.attrs.href,text:T.text,range:T.range,element:a.getLinkElementAtPos(T.range.from)}),l||n(!0)},f=T=>{if(c!==void 0&&c.cursorType==="text"||!(T.target instanceof HTMLElement))return;let I=a.getLinkAtElement(T.target);I&&u({cursorType:"mouse",url:I.mark.attrs.href,text:I.text,range:I.range,element:a.getLinkElementAtPos(I.range.from)})},x=o.onChange(b),C=o.onSelectionChange(b);return s?.addEventListener("mouseover",f),()=>{x(),C(),s?.removeEventListener("mouseover",f)}},[o,s,a,c,l]);let m=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:t,onOpenChange:(b,f,x)=>{l||c!==void 0&&c.cursorType==="text"&&x==="hover"||(x==="escape-key"&&o.focus(),n(b))},placement:"top-start",middleware:[A(10),ee()],...e.floatingUIOptions?.useFloatingOptions},useHoverProps:{enabled:c!==void 0&&c.cursorType==="mouse",delay:{open:250,close:250},handleClose:ao(),...e.floatingUIOptions?.useHoverProps},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{style:{zIndex:50},...e.floatingUIOptions?.elementProps}}),[o,c,e.floatingUIOptions,t,l]),p=d.useMemo(()=>c?.element?{element:c.element}:void 0,[c?.element]);if(!o.isEditable)return null;let g=e.linkToolbar||xr;return r.jsx(L,{reference:p,...m,children:c&&r.jsx(g,{url:c.url,text:c.text,range:c.range,setToolbarOpen:n,setToolbarPositionFrozen:i})})},Cr=()=>{let e=h(),o=k(),t=v(),n=w(z),l=y(D,{editor:t,selector:s=>s?.block}),i=d.useCallback(()=>{if(l===void 0)return;let s=l.content;if(s!==void 0&&Array.isArray(s)&&s.length===0)t.setTextCursorPosition(l),n.openSuggestionMenu("/");else{let a=t.insertBlocks([{type:"paragraph"}],l,"after")[0];t.setTextCursorPosition(a),n.openSuggestionMenu("/")}},[l,t,n]);return l===void 0?null:r.jsx(e.SideMenu.Button,{className:"bn-button",label:o.side_menu.add_block_label,icon:r.jsx(po,{size:24,onClick:i,"data-test":"dragHandleAdd"})})},kr=e=>{let o=h(),t=v(),n=y(D,{editor:t,selector:l=>l?.block});return n===void 0||!P(n,t,n.type,{textColor:"string"})&&!P(n,t,n.type,{backgroundColor:"string"})?null:r.jsxs(o.Generic.Menu.Root,{position:"right",sub:!0,children:[r.jsx(o.Generic.Menu.Trigger,{sub:!0,children:r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",subTrigger:!0,children:e.children})}),r.jsx(o.Generic.Menu.Dropdown,{sub:!0,className:"bn-menu-dropdown bn-color-picker-dropdown",children:r.jsx(he,{iconSize:18,text:P(n,t,n.type,{textColor:"string"})&&U(t,n.type,{textColor:"string"})?{color:n.props.textColor,setColor:l=>t.updateBlock(n,{type:n.type,props:{textColor:l}})}:void 0,background:P(n,t,n.type,{backgroundColor:"string"})&&U(t,n.type,{backgroundColor:"string"})?{color:n.props.backgroundColor,setColor:l=>t.updateBlock(n,{props:{backgroundColor:l}})}:void 0})})]})},jr=e=>{let o=h(),t=v(),n=y(D,{editor:t,selector:l=>l?.block});return n===void 0?null:r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",onClick:()=>t.removeBlocks([n]),children:e.children})},wr=e=>{let o=h(),t=v(),n=y(D,{editor:t,selector:i=>i?.block});if(n===void 0||n.type!=="table"||!t.settings.tables.headers)return null;let l=!!n.content.headerRows;return r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",checked:l,onClick:()=>{t.updateBlock(n,{content:{...n.content,headerRows:l?void 0:1}})},children:e.children})},yr=e=>{let o=h(),t=v(),n=y(D,{editor:t,selector:i=>i?.block});if(n===void 0||n.type!=="table"||!t.settings.tables.headers)return null;let l=!!n.content.headerCols;return r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",checked:l,onClick:()=>{t.updateBlock(n,{content:{...n.content,headerCols:l?void 0:1}})},children:e.children})},Sr=e=>{let o=h(),t=k();return r.jsx(o.Generic.Menu.Dropdown,{className:"bn-menu-dropdown bn-drag-handle-menu",children:e.children||r.jsxs(r.Fragment,{children:[r.jsx(jr,{children:t.drag_handle.delete_menuitem}),r.jsx(kr,{children:t.drag_handle.colors_menuitem}),r.jsx(wr,{children:t.drag_handle.header_row_menuitem}),r.jsx(yr,{children:t.drag_handle.header_column_menuitem})]})})},Tr=e=>{let o=h(),t=k(),n=w(D),l=y(D,{selector:s=>s?.block});if(l===void 0)return null;let i=e.dragHandleMenu||Sr;return r.jsxs(o.Generic.Menu.Root,{onOpenChange:s=>{s?n.freezeMenu():n.unfreezeMenu()},position:"left",children:[r.jsx(o.Generic.Menu.Trigger,{children:r.jsx(o.SideMenu.Button,{label:t.side_menu.drag_handle_label,draggable:!0,onDragStart:s=>n.blockDragStart(s,l),onDragEnd:n.blockDragEnd,className:"bn-button",icon:r.jsx(ft,{size:24,"data-test":"dragHandle"})})}),r.jsx(i,{children:e.children})]})},_r=e=>{let o=h(),t=v(),n=y(D,{editor:t,selector:i=>i?.block}),l=d.useMemo(()=>{if(n===void 0)return{};let i={"data-block-type":n.type};return n.type==="heading"&&(i["data-level"]=n.props.level.toString()),t.schema.blockSpecs[n.type].implementation.meta?.fileBlockAccept&&(n.props.url?i["data-url"]="true":i["data-url"]="false"),i},[n,t.schema.blockSpecs]);return r.jsx(o.SideMenu.Root,{className:"bn-side-menu",...l,children:e.children||r.jsxs(r.Fragment,{children:[r.jsx(Cr,{}),r.jsx(Tr,{dragHandleMenu:e.dragHandleMenu})]})})},Rr=e=>{let o=v(),{show:t,block:n}=y(D,{selector:a=>a===void 0?void 0:{show:a.show,block:a.block}})||{},l=d.useCallback((a,c,u)=>{let m=!1;return Me(a,c,()=>{if(!m){m=!0;return}o.getExtension(D)?.hideMenuIfNotFrozen()},{ancestorScroll:!0,ancestorResize:!1,elementResize:!1,layoutShift:!1})},[o]),i=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:t,placement:"left-start",whileElementsMounted:l,...e.floatingUIOptions?.useFloatingOptions},useDismissProps:{enabled:!1,...e.floatingUIOptions?.useDismissProps},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{style:{zIndex:20},...e.floatingUIOptions?.elementProps}}),[e.floatingUIOptions,t,l]),s=e.sideMenu||_r;return r.jsx(Bt,{blockId:t?n?.id:void 0,...i,children:n?.id&&r.jsx(s,{})})};async function Er(e,o){return(await cn(e,o)).map(({id:t,onItemClick:n})=>({id:t,onItemClick:n,icon:t}))}function Ir(e){let o=h(),t=k(),{items:n,loadingState:l,selectedIndex:i,onItemClick:s,columns:a}=e,c=l==="loading-initial"||l==="loading"?r.jsx(o.GridSuggestionMenu.Loader,{className:"bn-grid-suggestion-menu-loader",columns:a}):null,u=d.useMemo(()=>{let m=[];for(let p=0;p<n.length;p++){let g=n[p];m.push(r.jsx(o.GridSuggestionMenu.Item,{className:"bn-grid-suggestion-menu-item",item:g,id:`bn-grid-suggestion-menu-item-${p}`,isSelected:p===i,onClick:()=>s?.(g)},g.id))}return m},[o,n,s,i]);return r.jsxs(o.GridSuggestionMenu.Root,{id:"bn-grid-suggestion-menu",columns:a,className:"bn-grid-suggestion-menu",children:[c,u,u.length===0&&e.loadingState==="loaded"&&r.jsx(o.GridSuggestionMenu.EmptyItem,{className:"bn-grid-suggestion-menu-empty-item",columns:a,children:t.suggestion_menu.no_items_title})]})}function zt(e,o,t,n=3){let l=d.useRef(0);d.useEffect(()=>{o!==void 0&&(e.length>0?l.current=o.length:o.length-l.current>n&&t())},[t,n,e.length,o])}function Gt(e,o){let[t,n]=d.useState([]),[l,i]=d.useState(!1),s=d.useRef(void 0),a=d.useRef(void 0);return d.useEffect(()=>{let c=e;s.current=e,i(!0),o(e).then(u=>{s.current===c&&(n(u),i(!1),a.current=c)})},[e,o]),{items:t||[],usedQuery:a.current,loadingState:a.current===void 0?"loading-initial":l?"loading":"loaded"}}function Mr(e,o,t,n,l){let i=q(e),[s,a]=d.useState(0);return d.useEffect(()=>{let c=u=>(u.key==="ArrowLeft"&&(u.preventDefault(),t.length&&a((s-1+t.length)%t.length)),u.key==="ArrowRight"&&(u.preventDefault(),t.length&&a((s+1+t.length)%t.length)),u.key==="ArrowUp"?(u.preventDefault(),t.length&&a((s-n+t.length)%t.length),!0):u.key==="ArrowDown"?(u.preventDefault(),t.length&&a((s+n)%t.length),!0):u.key==="Enter"&&!u.isComposing?(u.stopPropagation(),u.preventDefault(),t.length&&l?.(t[s]),!0):!1);return i?.addEventListener("keydown",c,!0),()=>{i?.removeEventListener("keydown",c,!0)}},[i,t,s,l,n,n!==void 0&&n>1]),d.useEffect(()=>{a(0)},[o]),{selectedIndex:t.length===0?void 0:s}}function Pr(e){let o=O().setContentEditableProps,t=v(),{getItems:n,gridSuggestionMenuComponent:l,query:i,clearQuery:s,closeMenu:a,onItemClick:c,columns:u}=e,m=d.useCallback(x=>{a(),s(),c?.(x)},[c,a,s]),{items:p,usedQuery:g,loadingState:b}=Gt(i,n);zt(p,g,a);let{selectedIndex:f}=Mr(t,i,p,u,m);return d.useEffect(()=>(o(x=>({...x,"aria-expanded":!0,"aria-controls":"bn-suggestion-menu"})),()=>{o(x=>({...x,"aria-expanded":!1,"aria-controls":void 0}))}),[o]),d.useEffect(()=>(o(x=>({...x,"aria-activedescendant":f?"bn-suggestion-menu-item-"+f:void 0})),()=>{o(x=>({...x,"aria-activedescendant":void 0}))}),[o,f]),r.jsx(l,{items:p,onItemClick:m,loadingState:b,selectedIndex:f,columns:u})}function Nr(e){let o=v(),t=q(),{triggerCharacter:n,gridSuggestionMenuComponent:l,columns:i,shouldOpen:s,minQueryLength:a,onItemClick:c,getItems:u}=e,m=d.useMemo(()=>c||(C=>{C.onItemClick(o)}),[o,c]),p=d.useMemo(()=>u||(async C=>await Er(o,C)),[o,u]),g=w(z);d.useEffect(()=>{g.addSuggestionMenu({triggerCharacter:n,shouldOpen:s})},[g,n,s]);let b=y(z),f=y(z,{selector:C=>({element:t?.firstChild||void 0,getBoundingClientRect:()=>C?.referencePos||new DOMRect})}),x=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:b?.show&&b?.triggerCharacter===n,onOpenChange:C=>{C||g.closeMenu()},placement:"bottom-start",middleware:[A(10),rt({allowedPlacements:["bottom-start","top-start"],padding:10}),J(),se({apply({elements:C,availableHeight:T}){C.floating.style.maxHeight=`${Math.max(0,T)}px`},padding:10})],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{onMouseDownCapture:C=>C.preventDefault(),style:{zIndex:70},...e.floatingUIOptions?.elementProps}}),[e.floatingUIOptions,b?.show,b?.triggerCharacter,g,n]);return!b||!b.ignoreQueryLength&&a&&(b.query.startsWith(" ")||b.query.length<a)?null:r.jsx(L,{reference:f,...x,children:n&&r.jsx(Pr,{query:b.query,closeMenu:g.closeMenu,clearQuery:g.clearQuery,getItems:p,columns:i,gridSuggestionMenuComponent:l||Ir,onItemClick:m})})}function Br(e){let o=h(),t=k(),{items:n,loadingState:l,selectedIndex:i,onItemClick:s}=e,a=l==="loading-initial"||l==="loading"?r.jsx(o.SuggestionMenu.Loader,{className:"bn-suggestion-menu-loader"}):null,c=d.useMemo(()=>{let u,m=[];for(let p=0;p<n.length;p++){let g=n[p];g.group!==u&&(u=g.group,m.push(r.jsx(o.SuggestionMenu.Label,{className:"bn-suggestion-menu-label",children:u},u))),m.push(r.jsx(o.SuggestionMenu.Item,{className:R("bn-suggestion-menu-item",g.size==="small"?"bn-suggestion-menu-item-small":""),item:g,id:`bn-suggestion-menu-item-${p}`,isSelected:p===i,onClick:()=>s?.(g)},g.title))}return m},[o,n,s,i]);return r.jsxs(o.SuggestionMenu.Root,{id:"bn-suggestion-menu",className:"bn-suggestion-menu",children:[c,c.length===0&&(e.loadingState==="loading"||e.loadingState==="loaded")&&r.jsx(o.SuggestionMenu.EmptyItem,{className:"bn-suggestion-menu-item",children:t.suggestion_menu.no_items_title}),a]})}function Or(e,o){let[t,n]=d.useState(0);return{selectedIndex:t,setSelectedIndex:n,handler:l=>{if(l.key==="ArrowUp")return l.preventDefault(),e.length&&n((t-1+e.length)%e.length),!0;if(l.key==="ArrowDown")return l.preventDefault(),e.length&&n((t+1)%e.length),!0;if(l.key==="PageUp")return l.preventDefault(),e.length&&n(0),!0;if(l.key==="PageDown")return l.preventDefault(),e.length&&n(e.length-1),!0;let i=Fr(l)?l.nativeEvent.isComposing:l.isComposing;return l.key==="Enter"&&!i?(l.preventDefault(),l.stopPropagation(),e.length&&o?.(e[t]),!0):!1}}}function Fr(e){return e.nativeEvent!==void 0}function Dr(e,o,t,n,l){let i=q(),{selectedIndex:s,setSelectedIndex:a,handler:c}=Or(t,n);return d.useEffect(()=>{let u=i;return u?.addEventListener("keydown",c,!0),()=>{u?.removeEventListener("keydown",c,!0)}},[i,t,s,n,l,c]),d.useEffect(()=>{a(0)},[o,a]),{selectedIndex:t.length===0?void 0:s}}function Lr(e){let o=O().setContentEditableProps,t=v(),{getItems:n,suggestionMenuComponent:l,query:i,clearQuery:s,closeMenu:a,onItemClick:c}=e,u=d.useCallback(f=>{a(),s(),c?.(f)},[c,a,s]),{items:m,usedQuery:p,loadingState:g}=Gt(i,n);zt(m,p,a);let{selectedIndex:b}=Dr(t,i,m,u);return d.useEffect(()=>(o(f=>({...f,"aria-expanded":!0,"aria-controls":"bn-suggestion-menu"})),()=>{o(f=>({...f,"aria-expanded":!1,"aria-controls":void 0}))}),[o]),d.useEffect(()=>(o(f=>({...f,"aria-activedescendant":b?"bn-suggestion-menu-item-"+b:void 0})),()=>{o(f=>({...f,"aria-activedescendant":void 0}))}),[o,b]),r.jsx(l,{items:m,onItemClick:u,loadingState:g,selectedIndex:b})}var Ar={heading:ue,heading_2:de,heading_3:ce,heading_4:mt,heading_5:ut,heading_6:dt,toggle_heading:ue,toggle_heading_2:de,toggle_heading_3:ce,quote:ct,toggle_list:st,numbered_list:at,bullet_list:it,check_list:lt,paragraph:Pe,table:Hn,image:$n,video:Gn,audio:zn,file:An,emoji:Ln,code_block:Dn,divider:Fn};function zr(e){return on(e).map(o=>{let t=Ar[o.key];return{...o,icon:r.jsx(t,{size:18})}})}function Gr(e){let o=v(),t=q(),{triggerCharacter:n,suggestionMenuComponent:l,shouldOpen:i,minQueryLength:s,onItemClick:a,getItems:c}=e,u=d.useMemo(()=>a||(x=>{x.onItemClick(o)}),[o,a]),m=d.useMemo(()=>c||(async x=>nn(zr(o),x)),[o,c]),p=w(z);d.useEffect(()=>{p.addSuggestionMenu({triggerCharacter:n,shouldOpen:i})},[p,n,i]);let g=y(z),b=y(z,{selector:x=>({element:t?.firstChild||void 0,getBoundingClientRect:()=>x?.referencePos||new DOMRect})}),f=d.useMemo(()=>({...e.floatingUIOptions,useFloatingOptions:{open:g?.show&&g?.triggerCharacter===n,onOpenChange:x=>{x||p.closeMenu()},placement:"bottom-start",middleware:[A(10),rt({allowedPlacements:["bottom-start","top-start"],padding:10}),J(),se({apply({elements:x,availableHeight:C}){x.floating.style.maxHeight=`${Math.max(0,C)}px`},padding:10})],...e.floatingUIOptions?.useFloatingOptions},focusManagerProps:{disabled:!0,...e.floatingUIOptions?.focusManagerProps},elementProps:{onMouseDownCapture:x=>x.preventDefault(),style:{zIndex:80},...e.floatingUIOptions?.elementProps}}),[e.floatingUIOptions,g?.show,g?.triggerCharacter,p,n]);return!g||!g.ignoreQueryLength&&s&&(g.query.startsWith(" ")||g.query.length<s)?null:r.jsx(L,{reference:b,...f,children:n&&r.jsx(Lr,{query:g.query,closeMenu:p.closeMenu,clearQuery:p.clearQuery,getItems:m,suggestionMenuComponent:l||Br,onItemClick:u})})}var $r=(e,o=.3)=>{let t=Math.floor(e)+o,n=Math.ceil(e)-o;return e>=t&&e<=n?Math.round(e):e<t?Math.floor(e):Math.ceil(e)},Hr=e=>{let o=h(),t=v(),n=w(S),l=y(S,{selector:m=>m?.block}),i=d.useRef(!1),[s,a]=d.useState(),c=d.useCallback(m=>{n.freezeHandles(),e.hideOtherElements(!0),l&&(a({originalContent:l.content,originalCroppedContent:{rows:n.cropEmptyRowsOrColumns(l,e.orientation==="addOrRemoveColumns"?"columns":"rows")},startPos:e.orientation==="addOrRemoveColumns"?m.clientX:m.clientY}),i.current=!1,m.preventDefault())},[l,e,n]),u=d.useCallback(()=>{!l||i.current||t.updateBlock(l,{type:"table",content:{...l.content,rows:e.orientation==="addOrRemoveColumns"?n.addRowsOrColumns(l,"columns",1):n.addRowsOrColumns(l,"rows",1)}})},[l,t,e.orientation,n]);return d.useEffect(()=>{let m=p=>{if(!l)return;if(!s)throw Error("editingState is undefined");i.current=!0;let g=(e.orientation==="addOrRemoveColumns"?p.clientX:p.clientY)-s.startPos,b=e.orientation==="addOrRemoveColumns"?s.originalCroppedContent.rows[0]?.cells.length??0:s.originalCroppedContent.rows.length,f=e.orientation==="addOrRemoveColumns"?s.originalContent.rows[0]?.cells.length??0:s.originalContent.rows.length,x=e.orientation==="addOrRemoveColumns"?l.content.rows[0].cells.length:l.content.rows.length,C=f+$r(g/(e.orientation==="addOrRemoveColumns"?dn:un),.3);C>=b&&C>0&&C!==x&&(t.updateBlock(l,{type:"table",content:{...l.content,rows:e.orientation==="addOrRemoveColumns"?n.addRowsOrColumns({type:"table",content:s.originalCroppedContent},"columns",C-b):n.addRowsOrColumns({type:"table",content:s.originalCroppedContent},"rows",C-b)}}),l.content&&t.setTextCursorPosition(l))};return s&&window.addEventListener("mousemove",m),()=>{window.removeEventListener("mousemove",m)}},[l,s,t,e.orientation,n]),d.useEffect(()=>{let m=()=>{e.hideOtherElements(!1),n.unfreezeHandles(),a(void 0)};return s&&window.addEventListener("mouseup",m),()=>{window.removeEventListener("mouseup",m)}},[s,e,n]),t.isEditable?r.jsx(o.TableHandle.ExtendButton,{className:R("bn-extend-button",e.orientation==="addOrRemoveColumns"?"bn-extend-button-add-remove-columns":"bn-extend-button-add-remove-rows",s===null?"":"bn-extend-button-editing"),onClick:u,onMouseDown:c,children:e.children||r.jsx(so,{size:18,"data-test":"extendButton"})}):null},Ur=e=>{let o=h(),t=k(),n=v(),{block:l,colIndex:i,rowIndex:s}=y(S,{selector:u=>({block:u?.block,colIndex:u?.colIndex,rowIndex:u?.rowIndex})}),a=(u,m)=>{if(l===void 0||i===void 0||s===void 0)return;let p=l.content.rows.map(g=>({...g,cells:g.cells.map(b=>Z(b))}));m==="text"?p[s].cells[i].props.textColor=u:p[s].cells[i].props.backgroundColor=u,n.updateBlock(l,{type:"table",content:{...l.content,rows:p}}),n.setTextCursorPosition(l)};if(l===void 0||i===void 0||s===void 0)return null;let c=l.content.rows[s]?.cells?.[i];return!c||n.settings.tables.cellTextColor===!1&&n.settings.tables.cellBackgroundColor===!1?null:r.jsxs(o.Generic.Menu.Root,{position:"right",sub:!0,children:[r.jsx(o.Generic.Menu.Trigger,{sub:!0,children:r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",subTrigger:!0,children:e.children||t.drag_handle.colors_menuitem})}),r.jsx(o.Generic.Menu.Dropdown,{sub:!0,className:"bn-menu-dropdown bn-color-picker-dropdown",children:r.jsx(he,{iconSize:18,text:n.settings.tables.cellTextColor?{color:X(c)?c.props.textColor:"default",setColor:u=>a(u,"text")}:void 0,background:n.settings.tables.cellBackgroundColor?{color:X(c)?c.props.backgroundColor:"default",setColor:u=>a(u,"background")}:void 0})})]})},Vr=()=>{let e=h(),o=k(),t=v(),n=w(S),{block:l,colIndex:i,rowIndex:s}=y(S,{selector:c=>({block:c?.block,colIndex:c?.colIndex,rowIndex:c?.rowIndex})});if(l===void 0||i===void 0||s===void 0)return null;let a=l.content.rows[s]?.cells?.[i];return!a||!X(a)||nt(a)===1&&tt(a)===1||!t.settings.tables.splitCells?null:r.jsx(e.Generic.Menu.Item,{onClick:()=>{n.splitCell({row:s,col:i})},children:o.table_handle.split_cell_menuitem})},qr=e=>r.jsx(h().Generic.Menu.Dropdown,{className:"bn-menu-dropdown bn-table-handle-menu",children:e.children||r.jsxs(r.Fragment,{children:[r.jsx(Vr,{}),r.jsx(Ur,{})]})}),Kr=e=>{let o=h(),t=v(),n=w(S),l=e.tableCellMenu||qr;return!t.settings.tables.splitCells&&!t.settings.tables.cellBackgroundColor&&!t.settings.tables.cellTextColor?null:r.jsxs(o.Generic.Menu.Root,{onOpenChange:i=>{i?(n.freezeHandles(),e.hideOtherElements(!0)):(n.unfreezeHandles(),e.hideOtherElements(!1),t.focus())},position:"right",children:[r.jsx(o.Generic.Menu.Trigger,{children:r.jsx(o.Generic.Menu.Button,{className:"bn-table-cell-handle",children:e.children||r.jsx(co,{size:12,"data-test":"tableCellHandle"})})}),r.jsx(l,{})]})},Ze=e=>{let o=h(),t=k(),n=w(S),l=y(S,{selector:i=>e.orientation==="column"?i?.colIndex:i?.rowIndex});return n===void 0||l===void 0?null:r.jsx(o.Generic.Menu.Item,{onClick:()=>{n.addRowOrColumn(l,e.orientation==="row"?{orientation:"row",side:e.side}:{orientation:"column",side:e.side})},children:t.table_handle[`add_${e.side}_menuitem`]})},Qr=e=>{let o=h(),t=k(),n=w(S),l=y(S,{selector:i=>e.orientation==="column"?i?.colIndex:i?.rowIndex});return n===void 0||l===void 0?null:r.jsx(o.Generic.Menu.Item,{onClick:()=>n.removeRowOrColumn(l,e.orientation),children:e.orientation==="row"?t.table_handle.delete_row_menuitem:t.table_handle.delete_column_menuitem})},Wr=e=>{let o=h(),t=k(),n=v(),l=w(S),{block:i,index:s}=y(S,{selector:m=>({block:m?.block,index:e.orientation==="column"?m?.colIndex:m?.rowIndex})}),a=d.useMemo(()=>l===void 0||i===void 0||s===void 0?[]:e.orientation==="row"?l.getCellsAtRowHandle(i,s):l.getCellsAtColumnHandle(i,s),[i,s,e.orientation,l]),c=(m,p)=>{if(i===void 0)return;let g=i.content.rows.map(b=>({...b,cells:b.cells.map(f=>Z(f))}));a.forEach(({row:b,col:f})=>{p==="text"?g[b].cells[f].props.textColor=m:g[b].cells[f].props.backgroundColor=m}),n.updateBlock(i,{type:"table",content:{...i.content,rows:g}}),n.setTextCursorPosition(i)};if(!a||!a[0]||!l||n.settings.tables.cellTextColor===!1&&n.settings.tables.cellBackgroundColor===!1)return null;let u=Z(a[0].cell);return r.jsxs(o.Generic.Menu.Root,{position:"right",sub:!0,children:[r.jsx(o.Generic.Menu.Trigger,{sub:!0,children:r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",subTrigger:!0,children:e.children||t.drag_handle.colors_menuitem})}),r.jsx(o.Generic.Menu.Dropdown,{sub:!0,className:"bn-menu-dropdown bn-color-picker-dropdown",children:r.jsx(he,{iconSize:18,text:n.settings.tables.cellTextColor?{color:a.every(({cell:m})=>X(m)&&m.props.textColor===u.props.textColor)?u.props.textColor:"default",setColor:m=>{c(m,"text")}}:void 0,background:n.settings.tables.cellBackgroundColor?{color:a.every(({cell:m})=>X(m)&&m.props.backgroundColor===u.props.backgroundColor)?u.props.backgroundColor:"default",setColor:m=>c(m,"background")}:void 0})})]})},Yr=e=>{let o=h(),t=k(),n=v(),l=w(S),{block:i,index:s}=y(S,{selector:c=>({block:c?.block,index:e.orientation==="column"?c?.colIndex:c?.rowIndex})});if(l===void 0||i===void 0||s!==0||e.orientation!=="row"||!n.settings.tables.headers)return null;let a=!!i.content.headerRows;return r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",checked:a,onClick:()=>{n.updateBlock(i,{...i,content:{...i.content,headerRows:a?void 0:1}})},children:t.drag_handle.header_row_menuitem})},Zr=e=>{let o=h(),t=k(),n=v(),l=w(S),i=y(S,{selector:c=>c?.block}),s=y(S,{selector:c=>e.orientation==="column"?c?.colIndex:c?.rowIndex});if(!l||s!==0||!i||e.orientation!=="column"||!n.settings.tables.headers)return null;let a=!!i.content.headerCols;return r.jsx(o.Generic.Menu.Item,{className:"bn-menu-item",checked:a,onClick:()=>{n.updateBlock(i,{...i,content:{...i.content,headerCols:a?void 0:1}})},children:t.drag_handle.header_column_menuitem})},Xr=e=>r.jsx(h().Generic.Menu.Dropdown,{className:"bn-table-handle-menu",children:e.children||r.jsxs(r.Fragment,{children:[r.jsx(Qr,{orientation:e.orientation}),r.jsx(Ze,{orientation:e.orientation,side:e.orientation==="row"?"above":"left"}),r.jsx(Ze,{orientation:e.orientation,side:e.orientation==="row"?"below":"right"}),r.jsx(Yr,{orientation:e.orientation}),r.jsx(Zr,{orientation:e.orientation}),r.jsx(Wr,{orientation:e.orientation})]})}),Jr=e=>{let o=v(),t=h(),[n,l]=d.useState(!1),i=e.tableHandleMenu||Xr,s=w(S),a=y(S),c=d.useMemo(()=>!s||!a||!a.block||a.block.type!=="table"?!1:e.orientation==="column"?s.getCellsAtColumnHandle(a.block,a.colIndex).every(({cell:u})=>tt(u)===1):s.getCellsAtRowHandle(a.block,a.rowIndex).every(({cell:u})=>nt(u)===1),[e.orientation,a,s]);return a?r.jsxs(t.Generic.Menu.Root,{onOpenChange:u=>{u?(s.freezeHandles(),e.hideOtherElements(!0)):(s.unfreezeHandles(),e.hideOtherElements(!1),o.focus())},position:"right",children:[r.jsx(t.Generic.Menu.Trigger,{children:r.jsx(t.TableHandle.Root,{className:R("bn-table-handle",n?"bn-table-handle-dragging":"",c?"":"bn-table-handle-not-draggable"),draggable:c,onDragStart:u=>{l(!0),e.hideOtherElements(!0),e.orientation==="column"?s.colDragStart(u):s.rowDragStart(u)},onDragEnd:()=>{s.dragEnd(),e.hideOtherElements(!1),l(!1)},style:e.orientation==="column"?{transform:"rotate(0.25turn)"}:void 0,children:e.children||r.jsx(ft,{size:24,"data-test":"tableHandle"})})}),r.jsx(i,{orientation:e.orientation})]}):null},el=e=>{let o=v(),[t,n]=d.useState(),l=y(S),i=d.useMemo(()=>{let p={};if(l===void 0)return{};let g=et(l.block.id,o.prosemirrorState.doc);if(!g)return{};let b=g.posBeforeNode+1,f=o.prosemirrorView.domAtPos(b+1).node;if(!(f instanceof Element))return{};if(p.tableReference={element:f},l.rowIndex===void 0||l.colIndex===void 0)return p;let x=o.prosemirrorState.doc.resolve(b+1).posAtIndex(l.rowIndex),C=o.prosemirrorState.doc.resolve(x+1).posAtIndex(l.colIndex),T=o.prosemirrorView.domAtPos(C+1).node;return T instanceof Element?(p.cellReference={element:T},p.rowReference={element:f,getBoundingClientRect:()=>{let I=f.getBoundingClientRect(),F=T.getBoundingClientRect();return new DOMRect(I.x,l.draggingState&&l.draggingState.draggedCellOrientation==="row"?l.draggingState.mousePos-F.height/2:F.y,I.width,F.height)}},p.columnReference={element:f,getBoundingClientRect:()=>{let I=f.getBoundingClientRect(),F=T.getBoundingClientRect();return new DOMRect(l.draggingState&&l.draggingState.draggedCellOrientation==="col"?l.draggingState.mousePos-F.width/2:F.x,I.y,F.width,I.height)}},p):{}},[o,l]),s=d.useCallback((p,g,b)=>{let f=!1;return Me(p,g,()=>{if(!f){f=!0;return}o.getExtension(S)?.hideHandlesIfNotFrozen()},{ancestorScroll:!0,ancestorResize:!1,elementResize:!1,layoutShift:!1})},[o]),a=d.useMemo(()=>l===void 0?void 0:{rowTableHandle:{useFloatingOptions:{open:l.show&&l.rowIndex!==void 0&&(!t||t==="rowTableHandle"),placement:"left",middleware:[A(-10)],whileElementsMounted:s},focusManagerProps:{disabled:!0},elementProps:{style:{zIndex:10}}},columnTableHandle:{useFloatingOptions:{open:l.show&&l.colIndex!==void 0&&(!t||t==="columnTableHandle"),placement:"top",middleware:[A(-12)],whileElementsMounted:s},focusManagerProps:{disabled:!0},elementProps:{style:{zIndex:10}}},tableCellHandle:{useFloatingOptions:{open:l.show&&l.rowIndex!==void 0&&l.colIndex!==void 0&&(!t||t==="tableCellHandle"),placement:"top-end",middleware:[A({mainAxis:-15,crossAxis:-1})],whileElementsMounted:s},focusManagerProps:{disabled:!0},elementProps:{style:{zIndex:10}}},extendRowsButton:{useFloatingOptions:{open:l.show&&l.showAddOrRemoveRowsButton&&(!t||t==="extendRowsButton"),placement:"bottom",whileElementsMounted:s,middleware:[se({apply({rects:p,elements:g}){Object.assign(g.floating.style,{width:`${p.reference.width}px`})}})]},focusManagerProps:{disabled:!0},elementProps:{style:{zIndex:10}}},extendColumnsButton:{useFloatingOptions:{open:l.show&&l.showAddOrRemoveColumnsButton&&(!t||t==="extendColumnsButton"),placement:"right",whileElementsMounted:s,middleware:[se({apply({rects:p,elements:g}){Object.assign(g.floating.style,{height:`${p.reference.height}px`})}})]},focusManagerProps:{disabled:!0},elementProps:{style:{zIndex:10}}}},[t,l,s]);if(!l)return null;let c=e.tableHandle||Jr,u=e.extendButton||Hr,m=e.tableCellHandle||Kr;return r.jsxs(r.Fragment,{children:[r.jsx(L,{reference:i?.rowReference,...a?.rowTableHandle,children:l.show&&l.rowIndex!==void 0&&(!t||t==="rowTableHandle")&&r.jsx(c,{orientation:"row",hideOtherElements:p=>n(p?"rowTableHandle":void 0)})}),r.jsx(L,{reference:i?.columnReference,...a?.columnTableHandle,children:l.show&&l.colIndex!==void 0&&(!t||t==="columnTableHandle")&&r.jsx(c,{orientation:"column",hideOtherElements:p=>n(p?"columnTableHandle":void 0)})}),r.jsx(L,{reference:i?.cellReference,...a?.tableCellHandle,children:l.show&&l.rowIndex!==void 0&&l.colIndex!==void 0&&(!t||t==="tableCellHandle")&&r.jsx(m,{hideOtherElements:p=>n(p?"tableCellHandle":void 0)})}),r.jsx(L,{reference:i?.tableReference,...a?.extendRowsButton,children:l.show&&l.showAddOrRemoveRowsButton&&(!t||t==="extendRowsButton")&&r.jsx(u,{orientation:"addOrRemoveRows",hideOtherElements:p=>n(p?"extendRowsButton":void 0)})}),r.jsx(L,{reference:i?.tableReference,...a?.extendColumnsButton,children:l.show&&l.showAddOrRemoveColumnsButton&&(!t||t==="extendColumnsButton")&&r.jsx(u,{orientation:"addOrRemoveColumns",hideOtherElements:p=>n(p?"extendColumnsButton":void 0)})})]})},tl=d.lazy(()=>me(()=>Promise.resolve().then(()=>Ho),void 0).then(e=>e.n)),nl=d.lazy(()=>me(()=>Promise.resolve().then(()=>Go),void 0).then(e=>e.n));function ol(e){let o=v();if(!o)throw Error("BlockNoteDefaultUI must be used within a BlockNoteContext.Provider");return r.jsxs(r.Fragment,{children:[o.getExtension(Y)&&e.formattingToolbar!==!1&&r.jsx(At,{}),o.getExtension(be)&&e.linkToolbar!==!1&&r.jsx(vr,{}),o.getExtension(z)&&e.slashMenu!==!1&&r.jsx(Gr,{triggerCharacter:"/",shouldOpen:t=>!t.selection.$from.parent.type.isInGroup("tableContent")}),o.getExtension(z)&&e.emojiPicker!==!1&&r.jsx(Nr,{triggerCharacter:":",columns:10,minQueryLength:2}),o.getExtension(D)&&e.sideMenu!==!1&&r.jsx(Rr,{}),o.getExtension(_e)&&e.filePanel!==!1&&r.jsx(qo,{}),o.getExtension(S)&&e.tableHandles!==!1&&r.jsx(el,{}),o.getExtension(B)&&e.comments!==!1&&r.jsxs(d.Suspense,{children:[r.jsx(tl,{}),r.jsx(nl,{})]})]})}function rl(e,o){let t=O();o||=t?.editor,d.useEffect(()=>{if(!o)throw Error("'editor' is required, either from BlockNoteContext or as a function argument");return o.onChange(e)},[e,o])}function ll(e,o,t){let n=O();o||=n?.editor,d.useEffect(()=>{if(!o)throw Error("'editor' is required, either from BlockNoteContext or as a function argument");return o.onSelectionChange(e,t)},[e,o,t])}var $t=()=>{let e=d.useMemo(()=>window.matchMedia?.("(prefers-color-scheme: dark)"),[]),o=d.useMemo(()=>window.matchMedia?.("(prefers-color-scheme: light)"),[]),t=e?.matches,n=o?.matches,[l,i]=d.useState(t?"dark":n?"light":"no-preference");return d.useEffect(()=>{i(t?"dark":n?"light":"no-preference")},[t,n]),d.useEffect(()=>{if(typeof e?.addEventListener=="function"){let s=({matches:c})=>c&&i("dark"),a=({matches:c})=>c&&i("light");return e?.addEventListener("change",s),o?.addEventListener("change",a),()=>{e?.removeEventListener("change",s),o?.removeEventListener("change",a)}}else{let s=()=>i(e.matches?"dark":o.matches?"light":"no-preference");return e?.addEventListener("change",s),o?.addEventListener("change",s),()=>{e?.removeEventListener("change",s),o?.removeEventListener("change",s)}}},[e,o]),l},Ht=d.createContext(void 0);function il(){return d.useContext(Ht)}function al(){let e=new Set,o={};return{subscribe(t){return e.add(t),()=>{e.delete(t)}},getSnapshot(){return o},getServerSnapshot(){return o},setRenderer(t,n){o={...o,[t]:ae.createPortal(n.reactElement,n.element,t)},e.forEach(l=>l())},removeRenderer(t){let n={...o};delete n[t],o=n,e.forEach(l=>l())}}}var sl=({contentComponent:e})=>{let o=d.useSyncExternalStore(e.subscribe,e.getSnapshot,e.getServerSnapshot);return r.jsx(r.Fragment,{children:Object.values(o)})},cl=d.forwardRef((e,o)=>{let[t,n]=d.useState();return d.useImperativeHandle(o,()=>(l,i)=>{ae.flushSync(()=>{n({node:l,container:i})}),n(void 0)},[]),r.jsx(r.Fragment,{children:t&&ae.createPortal(t.node,t.container)})}),Xe=()=>{};function dl(e,o){let{editor:t,className:n,theme:l,children:i,editable:s,onSelectionChange:a,onChange:c,formattingToolbar:u,linkToolbar:m,slashMenu:p,emojiPicker:g,sideMenu:b,filePanel:f,tableHandles:x,comments:C,autoFocus:T,renderEditor:I=!0,...F}=e,[Q,te]=d.useState(),K=O(),ne=$t(),xe=K?.colorSchemePreference||ne,G=l||(xe==="dark"?"dark":"light"),_=h(),H=d.useMemo(()=>({formattingToolbar:_?u:!1,linkToolbar:_?m:!1,sideMenu:_?b:!1,slashMenu:_?p:!1,filePanel:_?f:!1,tableHandles:_?x:!1,emojiPicker:_?g:!1,comments:_?C:!1}),[C,_,g,f,u,m,b,p,x]);rl(c||Xe,t),ll(a||Xe,t);let Kt=d.useCallback(Yt=>{t.elementRenderer=Yt},[t]);d.useEffect(()=>{if(!t.portalElement)throw Error("Portal element not found");t.portalElement.className=R("bn-root",G,n||""),t.portalElement.setAttribute("data-color-scheme",G)},[t,G,n]);let Qt=d.useMemo(()=>({...K,editor:t,setContentEditableProps:te,colorSchemePreference:G}),[K,t,G]),Wt=d.useMemo(()=>({editorProps:{autoFocus:T,contentEditableProps:Q,editable:s},defaultUIProps:H}),[T,Q,s,H]);return r.jsx(yt.Provider,{value:Qt,children:r.jsxs(Ht.Provider,{value:Wt,children:[r.jsx(cl,{ref:Kt}),r.jsx(ul,{className:n,renderEditor:I,editorColorScheme:G,ref:o,...F,children:i})]})})}var ul=pe.forwardRef(({className:e,renderEditor:o,editorColorScheme:t,children:n,...l},i)=>r.jsx("div",{className:R("bn-root","bn-container",t,e),"data-color-scheme":t,...l,ref:i,children:o?r.jsx(pl,{children:n}):n})),ml=pe.forwardRef(dl),pl=e=>{let o=il(),t=v(),n=d.useMemo(()=>al(),[]),l=d.useCallback(i=>{t.isEditable=o.editorProps.editable!==!1,t._tiptapEditor.contentComponent=n,i?t.mount(i):t.unmount()},[o.editorProps.editable,t,n]);return r.jsxs(r.Fragment,{children:[r.jsx(sl,{contentComponent:n}),r.jsx(gl,{...o.editorProps,...e,mount:l}),r.jsx(ol,{...o.defaultUIProps}),e.children]})},gl=e=>{let{autoFocus:o,mount:t,contentEditableProps:n}=e;return r.jsx("div",{"aria-autocomplete":"list","aria-haspopup":"listbox","data-bn-autofocus":o,ref:t,...n})};function W(e,o){let t,n=document.createElement("div"),l;if(o?.elementRenderer)o.elementRenderer(e(c=>t=c||void 0),n);else{if(!o?.headless)throw Error("elementRenderer not available, expected headless editor");l=Mo.createRoot(n),ae.flushSync(()=>{l.render(e(c=>t=c||void 0))})}if(!n.childElementCount)return console.warn("ReactInlineContentSpec: renderHTML() failed"),{dom:document.createElement("span")};t?.setAttribute("data-tmp-find","true");let i=n.cloneNode(!0),s=i.firstElementChild,a=i.querySelector("[data-tmp-find]");return a?.removeAttribute("data-tmp-find"),l?.unmount(),{dom:s,contentDOM:a||void 0}}function je(e){return r.jsx(xt,{onDragOver:o=>o.preventDefault(),...Object.fromEntries(Object.entries(e.domAttributes||{}).filter(([o])=>o!=="class")),className:R("bn-block-content",e.domAttributes?.class||""),"data-content-type":e.blockType,...Object.fromEntries(Object.entries(e.blockProps).filter(([o,t])=>t!==e.propSchema[o].default).map(([o,t])=>[ot(o),t])),"data-file-block":e.isFileBlock===!0||void 0,children:e.children})}function pi(e,o,t){return(n={})=>{let l=typeof e=="function"?e(n):e,i=typeof o=="function"?o(n):o,s=t?typeof t=="function"?t(n):t:void 0;return{config:l,implementation:{...i,toExternalHTML(a,c,u){let m=i.toExternalHTML||i.render;return W(p=>r.jsx(je,{blockType:a.type,blockProps:a.props,propSchema:l.propSchema,domAttributes:this.blockContentDOMAttributes,isFileBlock:i.meta?.fileBlockAccept!==void 0,children:r.jsx(m,{block:a,editor:c,contentRef:g=>{p(g),g&&(g.className=R("bn-inline-content",g.className))},context:u})}),c)},render(a,c){if(this.renderType==="nodeView")return pt(u=>{let m=mn(u.getPos,c,u.editor,l.type),p=ht().nodeViewContentRef;if(!p)throw Error("nodeViewContentRef is not set");let g=i.render;return r.jsx(je,{blockType:m.type,blockProps:m.props,propSchema:l.propSchema,isFileBlock:!!i.meta?.fileBlockAccept,domAttributes:this.blockContentDOMAttributes,children:r.jsx(g,{block:m,editor:c,contentRef:b=>{p(b),b&&(b.className=R("bn-inline-content",b.className),b.dataset.nodeViewContent="")}})})},{className:"bn-react-node-view-renderer"})(this.props);{let u=i.render;return W(m=>r.jsx(je,{blockType:a.type,blockProps:a.props,propSchema:l.propSchema,domAttributes:this.blockContentDOMAttributes,children:r.jsx(u,{block:a,editor:c,contentRef:p=>{m(p),p&&(p.className=R("bn-inline-content",p.className))}})}),c)}}},extensions:s}}}pe.memo(({thread:e,selectedThreadId:o,maxCommentsBeforeCollapse:t,referenceText:n})=>{let l=w(B),i=d.useCallback(a=>{a.target.closest(".bn-action-toolbar")||l.selectThread(e.id)},[l,e.id]),s=d.useCallback(a=>{if(!a.relatedTarget||a.relatedTarget.closest(".bn-action-toolbar"))return;let c=a.target instanceof Node?a.target:null,u=a.relatedTarget instanceof Node?a.relatedTarget.closest(".bn-thread"):null;(!c||!u||!u.contains(c))&&l.selectThread(void 0)},[l]);return r.jsx(ze,{thread:e,selected:e.id===o,referenceText:n,maxCommentsBeforeCollapse:t,onFocus:i,onBlur:s,tabIndex:0})});function we(e){return r.jsx(xt,{as:"span",className:"bn-inline-content-section","data-inline-content-type":e.inlineContentType,...Object.fromEntries(Object.entries(e.inlineContentProps).filter(([o,t])=>t!==e.propSchema[o].default).map(([o,t])=>[ot(o),t])),children:e.children})}function gi(e,o){let t=go.create({name:e.type,inline:!0,group:"inline",selectable:e.content==="styled",atom:e.content==="none",draggable:o.meta?.draggable,content:e.content==="styled"?"inline*":"",addAttributes(){return hn(e.propSchema)},addKeyboardShortcuts(){return fn(e)},parseHTML(){return bn(e,o.parse)},renderHTML({node:n}){let l=this.options.editor,i=$e(n,l.schema.inlineContentSchema,l.schema.styleSchema),s=o.toExternalHTML||o.render;return gn(W(a=>r.jsx(s,{contentRef:c=>{a(c),c&&(c.dataset.editable="")},inlineContent:i,updateInlineContent:()=>{},editor:l}),l),e.type,n.attrs,e.propSchema)},addNodeView(){let n=this.options.editor;return l=>pt(i=>{let s=ht().nodeViewContentRef;if(!s)throw Error("nodeViewContentRef is not set");let a=o.render;return r.jsx(we,{inlineContentProps:i.node.attrs,inlineContentType:e.type,propSchema:e.propSchema,children:r.jsx(a,{contentRef:c=>{s(c),c&&(c.dataset.editable="")},editor:n,inlineContent:$e(i.node,n.schema.inlineContentSchema,n.schema.styleSchema),updateInlineContent:c=>{let u=pn([c],n.pmSchema),m=i.getPos();m!==void 0&&n.transact(p=>p.replaceWith(m,m+i.node.nodeSize,u))}})})},{className:"bn-ic-react-node-view-renderer",as:"span"})(l)}});return xn(e,{...o,node:t,render(n,l,i){let s=o.render;return W(a=>r.jsx(we,{inlineContentProps:n.props,inlineContentType:e.type,propSchema:e.propSchema,children:r.jsx(s,{contentRef:c=>{a(c),c&&(c.dataset.editable="")},editor:i,inlineContent:n,updateInlineContent:l})}),i)},toExternalHTML(n,l){let i=o.toExternalHTML||o.render;return W(s=>r.jsx(we,{inlineContentProps:n.props,inlineContentType:e.type,propSchema:e.propSchema,children:r.jsx(i,{contentRef:a=>{s(a),a&&(a.dataset.editable="")},editor:l,inlineContent:n,updateInlineContent:()=>{}})}),l)}})}function Ut(e,o){let t=e.getBoundingClientRect(),n=o.getBoundingClientRect(),l=t.top<n.top,i=t.bottom>n.bottom;return l&&i?"both":l?"top":i?"bottom":"none"}function bl(e){return o=>{e.forEach(t=>{typeof t=="function"?t(o):t!=null&&(t.current=o)})}}var Vt=(e,o,t=!1)=>{let n=[];function l(i,s="--bn"){for(let a in i){let c=`${s}-${a.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}`;typeof i[a]=="object"?l(i[a],c):(typeof i[a]=="number"&&(i[a]=`${i[a]}px`),t?o.style.removeProperty(c):o.style.setProperty(c,i[a].toString()))}}return l(e),n},Je=(e,o)=>Vt(e,o),fl={colors:{editor:{text:void 0,background:void 0},menu:{text:void 0,background:void 0},tooltip:{text:void 0,background:void 0},hovered:{text:void 0,background:void 0},selected:{text:void 0,background:void 0},disabled:{text:void 0,background:void 0},shadow:void 0,border:void 0,sideMenu:void 0,highlights:{gray:{text:void 0,background:void 0},brown:{text:void 0,background:void 0},red:{text:void 0,background:void 0},orange:{text:void 0,background:void 0},yellow:{text:void 0,background:void 0},green:{text:void 0,background:void 0},blue:{text:void 0,background:void 0},purple:{text:void 0,background:void 0},pink:{text:void 0,background:void 0}}},borderRadius:void 0,fontFamily:void 0},hl=e=>Vt(fl,e,!0),qt=e=>r.jsxs(Oe,{gap:0,className:"bn-tooltip",children:[r.jsx($,{size:"sm",lineClamp:5,children:e.mainTooltip}),e.secondaryTooltip&&r.jsx($,{size:"xs",lineClamp:5,children:e.secondaryTooltip})]}),ye=d.forwardRef((e,o)=>{let{className:t,children:n,mainTooltip:l,secondaryTooltip:i,icon:s,isSelected:a,isDisabled:c,onClick:u,label:m,variant:p,...g}=e;j(g,!1);let[b,f]=d.useState(!1),x=n?r.jsx(V,{"aria-label":m,className:t,onMouseDown:C=>{Re()&&C.currentTarget.focus()},onClick:C=>{f(!0),u?.(C)},onPointerLeave:()=>f(!1),"aria-pressed":a,"data-selected":a||void 0,"data-test":l?l.slice(0,1).toLowerCase()+l.replace(/\s+/g,"").slice(1):void 0,size:p==="compact"?"compact-xs":"xs",disabled:c||!1,ref:o,...g,children:n}):r.jsx(Ne,{className:t,"aria-label":m,onMouseDown:C=>{Re()&&C.currentTarget.focus()},onClick:C=>{f(!0),u?.(C)},onPointerLeave:()=>f(!1),"aria-pressed":a,"data-selected":a||void 0,"data-test":l?l.slice(0,1).toLowerCase()+l.replace(/\s+/g,"").slice(1):void 0,size:p==="compact"?20:30,disabled:c||!1,ref:o,...g,children:s});return l?r.jsx(kt,{disabled:b,withinPortal:!1,label:r.jsx(qt,{mainTooltip:l,secondaryTooltip:i}),children:x}):x}),xl=d.forwardRef((e,o)=>{let{className:t,text:n,icon:l,isSelected:i,mainTooltip:s,secondaryTooltip:a,onClick:c,onMouseEnter:u,...m}=e;j(m,!1);let[p,g]=d.useState(!1),b=r.jsxs(Io,{className:t,checked:i===!0,wrapperProps:{onMouseEnter:u,onMouseLeave:()=>g(!1),onClick:f=>{g(!0),c?.(f)}},variant:"light",icon:null,ref:o,children:[r.jsx("span",{children:l}),r.jsx("span",{children:n})]});return!s||p?b:r.jsx(kt,{refProp:"rootRef",withinPortal:!1,label:r.jsx(qt,{mainTooltip:s,secondaryTooltip:a}),children:b})}),vl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l),r.jsx(M,{className:t,ref:o,children:n})}),Cl=d.forwardRef((e,o)=>{let{className:t,children:n,headerText:l,selected:i,onFocus:s,onBlur:a,tabIndex:c,...u}=e;return j(u,!1),r.jsxs(vt,{className:R(t,i?"selected":""),onFocus:s,onBlur:a,tabIndex:c,ref:o,children:[l&&r.jsx($,{className:"bn-header-text",children:l}),n]})}),kl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l,!1),r.jsx(vt.Section,{className:t,ref:o,children:n})}),jl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l,!1),r.jsx(ho,{className:t,label:r.jsx($,{children:n}),ref:o})}),wl=d.forwardRef((e,o)=>{let{authorInfo:t,timeString:n,edited:l,...i}=e,s=k();return j(i,!1),t==="loading"?r.jsxs(M,{children:[r.jsx(qe,{height:24,width:24}),r.jsx("div",{children:r.jsx(qe,{height:12,width:100})})]}):r.jsxs(M,{children:[r.jsx(Eo,{src:t.avatarUrl,alt:t.username,radius:"xl",size:"sm",color:"initials"}),r.jsxs($,{fz:"sm",fw:"bold",children:[t.username,r.jsxs($,{fz:"xs",c:"dimmed",span:!0,ml:"xs",children:[n," ",l&&`(${s.comments.edited})`]})]})]})}),yl=d.forwardRef((e,o)=>{let{className:t,showActions:n,authorInfo:l,timeString:i,edited:s,actions:a,emojiPickerOpen:c,children:u,...m}=e,{hovered:p,ref:g}=xo(),b=bl([o,g]);return j(m,!1),r.jsxs(M,{pos:"relative",ref:b,className:t,children:[a&&(n===!0||n===void 0||n==="hover"&&p||c)?r.jsx(M,{style:{position:"absolute",right:0,top:0,zIndex:10},children:a}):null,r.jsx(wl,{...e}),u]})}),Sl=d.forwardRef((e,o)=>{let{className:t,autoFocus:n,onFocus:l,onBlur:i,editor:s,editable:a,...c}=e;j(c,!1);let u=O();return r.jsx(ri,{autoFocus:n,className:t,editor:e.editor,sideMenu:!1,slashMenu:!1,tableHandles:!1,filePanel:!1,formattingToolbar:!1,editable:a,theme:u?.colorSchemePreference,ref:o,onFocus:l,onBlur:i,children:r.jsx(At,{formattingToolbar:Tl})})}),Tl=()=>r.jsx(Lt,{blockTypeSelectItems:[],children:Dt([]).filter(e=>e.key!=="nestBlockButton"&&e.key!=="unnestBlockButton")}),_l=d.forwardRef((e,o)=>{let{className:t,name:n,label:l,variant:i,icon:s,value:a,autoFocus:c,placeholder:u,disabled:m,onKeyDown:p,onChange:g,onSubmit:b,autoComplete:f,"aria-activedescendant":x,rightSection:C,...T}=e;return j(T),r.jsx(jt,{size:"xs",className:R(t||"",i==="large"?"bn-mt-input-large":""),ref:o,name:n,label:l,leftSection:s,value:a,autoFocus:c,"data-autofocus":c?"true":void 0,rightSection:C,placeholder:u,disabled:m,onKeyDown:p,onChange:g,onSubmit:b,autoComplete:f,"aria-activedescendant":x})}),Rl=d.createContext(void 0),El=e=>{let{children:o,onOpenChange:t,position:n,sub:l,...i}=e;return j(i),l?r.jsx(N.Sub,{transitionProps:{duration:250,exitDelay:250},withinPortal:!1,middlewares:{flip:!0,shift:!0,inline:!1,size:!0},onChange:t,position:n,children:o}):r.jsx(N,{withinPortal:!1,middlewares:{flip:!0,shift:!0,inline:!1,size:!0},onChange:t,position:n,returnFocus:!1,children:o})},Il=d.forwardRef((e,o)=>{let{className:t,children:n,icon:l,checked:i,subTrigger:s,onClick:a,...c}=e;return j(c,!1),r.jsx(s?N.Sub.Item:N.Item,{className:t,ref:o,leftSection:l,rightSection:i?r.jsx(Ct,{size:10}):i===!1?r.jsx("div",{className:"bn-tick-space"}):null,onClick:a,...c,children:n})}),Ml=e=>{let{children:o,sub:t,...n}=e;return j(n),r.jsx(t?N.Sub.Target:N.Target,{children:o})},Pl=d.forwardRef((e,o)=>{let{className:t,children:n,sub:l,...i}=e;j(i);let s=d.useContext(Rl);return r.jsx(l?N.Sub.Dropdown:N.Dropdown,{className:t,ref:o,onMouseOver:s?.onMenuMouseOver,onMouseLeave:s?.onMenuMouseLeave,children:n})}),Nl=d.forwardRef((e,o)=>{let{className:t,...n}=e;return j(n),r.jsx(N.Divider,{className:t,ref:o})}),Bl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l),r.jsx(N.Label,{className:t,ref:o,children:n})}),Ol=d.forwardRef((e,o)=>{let{className:t,children:n,icon:l,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,label:u,...m}=e;return j(m,!1),l?r.jsx(Ne,{size:24,className:t,ref:o,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,"aria-label":u,...m,children:l}):r.jsx(V,{className:t,ref:o,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,"aria-label":u,...m,children:n})}),Fl=d.forwardRef((e,o)=>{let{className:t,tabs:n,defaultOpenTab:l,openTab:i,setOpenTab:s,loading:a,...c}=e;return j(c),r.jsx(M,{className:t,ref:o,children:r.jsxs(oe,{value:i,defaultValue:l,onChange:s,children:[a&&r.jsx(Ro,{visible:a}),r.jsx(oe.List,{children:n.map(u=>r.jsx(oe.Tab,{"data-test":`${u.name.toLowerCase()}-tab`,value:u.name,children:u.name},u.name))}),n.map(u=>r.jsx(oe.Panel,{value:u.name,children:u.tabPanel},u.name))]})})}),Dl=d.forwardRef((e,o)=>{let{className:t,children:n,onClick:l,label:i,...s}=e;return j(s),r.jsx(V,{size:"xs","aria-label":i,className:t,ref:o,onClick:l,...s,children:n})}),Ll=d.forwardRef((e,o)=>{let{className:t,accept:n,value:l,placeholder:i,onChange:s,...a}=e;return j(a),r.jsx(_o,{size:"xs",className:t,ref:o,accept:n,value:l,placeholder:i,onChange:s,...a})}),Al=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l),r.jsx("div",{className:t,ref:o,children:n})}),zl=d.forwardRef((e,o)=>{let{className:t,value:n,placeholder:l,onKeyDown:i,onChange:s,...a}=e;return j(a),r.jsx(jt,{size:"xs","data-test":"embed-input",className:t,ref:o,value:n,placeholder:l,onKeyDown:i,onChange:s})}),Gl=e=>{let{open:o,onOpenChange:t,position:n,portalRoot:l,children:i,...s}=e;return j(s),r.jsx(So,{middlewares:{size:{padding:20}},withinPortal:!!l,portalProps:l?{target:l}:void 0,opened:o,onChange:t,position:n,children:i})},$l=e=>{let{children:o,...t}=e;return j(t),r.jsx(yo,{children:o})},Hl=d.forwardRef((e,o)=>{let{className:t,children:n,variant:l,...i}=e;return j(i),r.jsx(wo,{className:t,ref:o,children:n})}),Ul=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l,!1),r.jsx(M,{align:"center",gap:0,className:t,ref:o,...l,children:n})}),Vl=d.forwardRef((e,o)=>{let{className:t,children:n,icon:l,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,label:u,...m}=e;return j(m,!1),l?r.jsx(Ne,{size:24,className:t,ref:o,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,"aria-label":u,...m,children:l}):r.jsx(V,{className:t,ref:o,onClick:i,onDragEnd:s,onDragStart:a,draggable:c,"aria-label":u,...m,children:n})}),ql=d.forwardRef((e,o)=>{let{className:t,children:n,id:l,...i}=e;return j(i),r.jsx(Oe,{gap:0,className:t,ref:o,id:l,role:"listbox",children:n})}),Kl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l),r.jsx(M,{className:t,ref:o,children:r.jsx(M,{className:"bn-mt-suggestion-menu-item-title",children:n})})}),Ql=d.forwardRef((e,o)=>{let{className:t,isSelected:n,onClick:l,item:i,id:s,...a}=e;j(a);let c=d.useRef(null);return d.useEffect(()=>{!c.current||!n||Ut(c.current,c.current.closest(".bn-suggestion-menu, #ai-suggestion-menu"))!=="none"&&c.current.scrollIntoView({block:"nearest"})},[n]),r.jsxs(M,{gap:0,className:t,ref:Be(o,c),id:s,role:"option",onMouseDown:u=>u.preventDefault(),onClick:l,"aria-selected":n||void 0,children:[i.icon&&r.jsx(M,{className:"bn-mt-suggestion-menu-item-section","data-position":"left",children:i.icon}),r.jsxs(Oe,{gap:0,className:"bn-mt-suggestion-menu-item-body",children:[r.jsx($,{className:"bn-mt-suggestion-menu-item-title",children:i.title}),r.jsx($,{className:"bn-mt-suggestion-menu-item-subtitle",children:i.subtext})]}),i.badge&&r.jsx(M,{"data-position":"right",className:"bn-mt-suggestion-menu-item-section",children:r.jsx(To,{size:"xs",children:i.badge})})]})}),Wl=d.forwardRef((e,o)=>{let{className:t,children:n,...l}=e;return j(l),r.jsx(M,{className:t,ref:o,children:n})}),Yl=d.forwardRef((e,o)=>{let{className:t,...n}=e;return j(n),r.jsx(wt,{className:t,type:"dots",size:16,ref:o})}),Zl=d.forwardRef((e,o)=>{let{className:t,children:n,id:l,columns:i,...s}=e;return j(s),r.jsx("div",{className:t,style:{gridTemplateColumns:`repeat(${i}, 1fr)`},ref:o,id:l,role:"grid",children:n})}),Xl=d.forwardRef((e,o)=>{let{className:t,children:n,columns:l,...i}=e;return j(i),r.jsx(M,{className:t,style:{gridColumn:`1 / ${l+1}`},ref:o,children:r.jsx(M,{className:"bn-mt-suggestion-menu-item-title",children:n})})}),Jl=d.forwardRef((e,o)=>{let{className:t,isSelected:n,onClick:l,item:i,id:s,...a}=e;j(a);let c=d.useRef(null);return d.useEffect(()=>{!c.current||!n||Ut(c.current,c.current.closest(".bn-grid-suggestion-menu"))!=="none"&&c.current.scrollIntoView({block:"nearest"})},[n]),r.jsx("div",{className:t,ref:Be(o,c),id:s,role:"option",onClick:l,"aria-selected":n||void 0,children:i.icon})}),ei=d.forwardRef((e,o)=>{let{className:t,children:n,columns:l,...i}=e;return j(i),r.jsx(wt,{className:t,style:{gridColumn:`1 / ${l+1}`},type:"dots",ref:o})}),ti=d.forwardRef((e,o)=>{let{children:t,className:n,onMouseDown:l,onClick:i,...s}=e;return j(s,!1),r.jsx(V,{className:n,ref:o,onMouseDown:l,onClick:i,...s,children:t})}),ni=d.forwardRef((e,o)=>{let{className:t,children:n,draggable:l,onDragStart:i,onDragEnd:s,style:a,label:c,...u}=e;return j(u,!1),r.jsx(V,{className:t,ref:o,"aria-label":c,draggable:l,onDragStart:i,onDragEnd:s,style:a,...u,children:n})}),Se=d.forwardRef((e,o)=>{let{className:t,children:n,onMouseEnter:l,onMouseLeave:i,variant:s,...a}=e;j(a);let{ref:c,focused:u}=Co();return r.jsx(ko,{className:t,ref:Be(o,c,jo(u)),role:"toolbar",onMouseEnter:l,onMouseLeave:i,gap:s==="action-toolbar"?2:void 0,children:n})}),Te=d.forwardRef((e,o)=>{let{className:t,items:n,isDisabled:l,...i}=e;j(i);let s=n.filter(a=>a.isSelected)[0];return s?r.jsxs(N,{withinPortal:!1,transitionProps:{exitDuration:0},disabled:l,middlewares:{flip:!0,shift:!0,inline:!1,size:!0},children:[r.jsx(N.Target,{children:r.jsx(V,{onMouseDown:a=>{Re()&&a.currentTarget.focus()},leftSection:s.icon,rightSection:r.jsx(vo,{}),size:"xs",variant:"subtle",disabled:l,children:s.text})}),r.jsx(N.Dropdown,{className:t,ref:o,children:n.map(a=>r.jsx(N.Item,{onClick:a.onClick,leftSection:a.icon,rightSection:a.isSelected?r.jsx(Ct,{size:10,className:"bn-tick-icon"}):r.jsx("div",{className:"bn-tick-space"}),disabled:a.isDisabled,children:a.text},a.text))})]}):null}),oi={FormattingToolbar:{Root:Se,Button:ye,Select:Te},FilePanel:{Root:Fl,Button:Dl,FileInput:Ll,TabPanel:Al,TextInput:zl},GridSuggestionMenu:{Root:Zl,Item:Jl,EmptyItem:Xl,Loader:ei},LinkToolbar:{Root:Se,Button:ye,Select:Te},SideMenu:{Root:Ul,Button:Vl},SuggestionMenu:{Root:ql,Item:Ql,EmptyItem:Kl,Label:Wl,Loader:Yl},TableHandle:{Root:ni,ExtendButton:ti},Generic:{Badge:{Root:xl,Group:vl},Form:{Root:e=>r.jsx("div",{children:e.children}),TextInput:_l},Menu:{Root:El,Trigger:Ml,Dropdown:Pl,Divider:Nl,Label:Bl,Item:Il,Button:Ol},Popover:{Root:Gl,Trigger:$l,Content:Hl},Toolbar:{Root:Se,Button:ye,Select:Te}},Comments:{Comment:yl,Editor:Sl,Card:Cl,CardSection:kl,ExpandSectionsPrompt:jl}},ri=e=>{let{className:o,theme:t,editor:n,...l}=e,i=O(),s=$t(),a=i?.colorSchemePreference||s,c=typeof t=="string"?t:a==="no-preference"?"light":a,u=d.useCallback(g=>{if(g&&(hl(g),typeof t=="object")){if("light"in t&&"dark"in t){Je(t[a==="dark"?"dark":"light"],g);return}Je(t,g);return}},[a,t]);d.useEffect(()=>{if(!n.portalElement)throw Error("Portal element not found");n.portalElement.setAttribute("data-mantine-color-scheme",c),u(n.portalElement)},[n,u,c]);let m=d.useContext(bo),p=r.jsx(St.Provider,{value:oi,children:r.jsx(ml,{"data-mantine-color-scheme":c,className:R("bn-mantine",o||""),theme:typeof t=="object"?void 0:t,editor:n,...l,ref:u})});return m?p:r.jsx(fo,{withCssVariables:!1,getRootElement:()=>{},children:p})};export{De as K,gi as L,v as M,pi as Z,ri as a,Gr as h,zr as m};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as l,r as m,d as a}from"./chunk-
|
|
1
|
+
import{g as l,r as m,d as a}from"./chunk-6Q2QTUOP-xZ8ofRqk.js";import{p}from"./chunk-JWPE2WC7-DsyTXbuq.js";import{_ as t,l as o}from"./mermaid.core-C2tL9tq7.js";import"./transform-BUB79_za.js";import{M as u,d as c}from"./cynefin-VYW2F7L2-DU_G4Atc.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";var f=c().RailroadPeg.parser.LangiumParser,i=t(e=>{const r=e.alternatives.map(d);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),d=t(e=>{const r=e.elements.map(P);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformSequence"),P=t(e=>{const r=g(e.suffix);return e.operator?{type:"special",text:e.operator==="&"?`&${s(r)}`:`!${s(r)}`}:r},"transformPrefix"),s=t(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),g=t(e=>{const r=v(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),v=t(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return i(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw new Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=t(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=t(e=>{p(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(y(r)))},"populateDb"),b={parse:t(e=>{a.clear(),o.debug("[PEG Parser] Starting Langium parse");const r=f.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new u(r);const n=r.value;o.debug("[PEG Parser] Parsed rules:",n.rules.length),h(n),o.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a}},R={parser:b,db:a,renderer:m,styles:l};export{R as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as at}from"./chunk-JWPE2WC7-
|
|
1
|
+
import{p as at}from"./chunk-JWPE2WC7-DsyTXbuq.js";import{J as T,M as B,b4 as rt,g as nt,s as it,a as ot,b as st,n as lt,m as ct,_ as g,l as G,c as ut,A as dt,E as gt,a0 as pt,d as ht,o as ft,B as mt}from"./mermaid.core-C2tL9tq7.js";import{p as vt}from"./cynefin-VYW2F7L2-DU_G4Atc.js";import"./transform-BUB79_za.js";import{d as Z}from"./arc-Cil9fXuW.js";import{o as xt}from"./ordinal-Cboi1Yqb.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";import"./init-Gi6I4Gst.js";function St(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function yt(t){return t}function wt(){var t=yt,n=St,y=null,b=T(0),l=T(B),p=T(0);function i(e){var r,s=(e=rt(e)).length,h,w,$=0,f=new Array(s),o=new Array(s),D=+b.apply(this,arguments),M=Math.min(B,Math.max(-B,l.apply(this,arguments)-D)),k,L=Math.min(Math.abs(M)/s,p.apply(this,arguments)),u=L*(M<0?-1:1),A;for(r=0;r<s;++r)(A=o[f[r]=r]=+t(e[r],r,e))>0&&($+=A);for(n!=null?f.sort(function(z,m){return n(o[z],o[m])}):y!=null&&f.sort(function(z,m){return y(e[z],e[m])}),r=0,w=$?(M-s*u)/$:0;r<s;++r,D=k)h=f[r],A=o[h],k=D+(A>0?A*w:0)+u,o[h]={data:e[h],index:r,value:A,startAngle:D,endAngle:k,padAngle:L};return o}return i.value=function(e){return arguments.length?(t=typeof e=="function"?e:T(+e),i):t},i.sortValues=function(e){return arguments.length?(n=e,y=null,i):n},i.sort=function(e){return arguments.length?(y=e,n=null,i):y},i.startAngle=function(e){return arguments.length?(b=typeof e=="function"?e:T(+e),i):b},i.endAngle=function(e){return arguments.length?(l=typeof e=="function"?e:T(+e),i):l},i.padAngle=function(e){return arguments.length?(p=typeof e=="function"?e:T(+e),i):p},i}var At=mt.pie,I={sections:new Map,showData:!1},F=I.sections,V=I.showData,Ct=structuredClone(At),$t=g(()=>structuredClone(Ct),"getConfig"),Dt=g(()=>{F=new Map,V=I.showData,ft()},"clear"),Tt=g(({label:t,value:n})=>{if(n<0)throw new Error(`"${t}" has invalid value: ${n}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);F.has(t)||(F.set(t,n),G.debug(`added new section: ${t}, with value: ${n}`))},"addSection"),bt=g(()=>F,"getSections"),kt=g(t=>{V=t},"setShowData"),Et=g(()=>V,"getShowData"),q={getConfig:$t,clear:Dt,setDiagramTitle:ct,getDiagramTitle:lt,setAccTitle:st,getAccTitle:ot,setAccDescription:it,getAccDescription:nt,addSection:Tt,getSections:bt,setShowData:kt,getShowData:Et},Mt=g((t,n)=>{at(t,n),n.setShowData(t.showData),t.sections.map(n.addSection)},"populateDb"),zt={parse:g(async t=>{const n=await vt("pie",t);G.debug(n),Mt(n,q)},"parse")},Rt=g(t=>`
|
|
2
2
|
.pieCircle{
|
|
3
3
|
stroke: ${t.pieStrokeColor};
|
|
4
4
|
stroke-width : ${t.pieStrokeWidth};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as a,j as e}from"./floating-ui.react-dom-BWTnA00G.js";import{g as J,a as V,b as M,P as v,e as j,M as W}from"./useNoteMutate-
|
|
1
|
+
import{r as a,j as e}from"./floating-ui.react-dom-BWTnA00G.js";import{g as J,a as V,b as M,P as v,e as j,M as W}from"./useNoteMutate-xEIypxi5.js";import{C as ee,g as P,u as ae,q as N,P as te,T as s,s as se,B as C,G as le,M as m,L as b,I as w,k as ne,l as $,h as re,e as ce}from"./time-DI902Sxa.js";import{F as ie}from"./app-CyQtGTtn.js";import{S as D}from"./SurfaceCard-D_OU_Oy6.js";import{e as oe}from"./url-BvjSC8PU.js";import{n as de}from"./Plus.es-P9Fjwtud.js";import"./preload-helper-BXl3LOEh.js";import"./sortable.esm-DgSW3bAA.js";const me=new Map([["bold",a.createElement(a.Fragment,null,a.createElement("path",{d:"M216.49,168.49a12,12,0,0,1-17,0L128,97,56.49,168.49a12,12,0,0,1-17-17l80-80a12,12,0,0,1,17,0l80,80A12,12,0,0,1,216.49,168.49Z"}))],["duotone",a.createElement(a.Fragment,null,a.createElement("path",{d:"M208,160H48l80-80Z",opacity:"0.2"}),a.createElement("path",{d:"M213.66,154.34l-80-80a8,8,0,0,0-11.32,0l-80,80A8,8,0,0,0,48,168H208a8,8,0,0,0,5.66-13.66ZM67.31,152,128,91.31,188.69,152Z"}))],["fill",a.createElement(a.Fragment,null,a.createElement("path",{d:"M215.39,163.06A8,8,0,0,1,208,168H48a8,8,0,0,1-5.66-13.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,215.39,163.06Z"}))],["light",a.createElement(a.Fragment,null,a.createElement("path",{d:"M212.24,164.24a6,6,0,0,1-8.48,0L128,88.49,52.24,164.24a6,6,0,0,1-8.48-8.48l80-80a6,6,0,0,1,8.48,0l80,80A6,6,0,0,1,212.24,164.24Z"}))],["regular",a.createElement(a.Fragment,null,a.createElement("path",{d:"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z"}))],["thin",a.createElement(a.Fragment,null,a.createElement("path",{d:"M210.83,162.83a4,4,0,0,1-5.66,0L128,85.66,50.83,162.83a4,4,0,0,1-5.66-5.66l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,210.83,162.83Z"}))]]),k=a.forwardRef((l,c)=>a.createElement(ee,{ref:c,...l,weights:me}));k.displayName="CaretUpIcon";const he=k,O=["id","name","template","replacement","createdAt","updatedAt"],pe=new Set(O),ue=`query FetchPlaceholders(
|
|
2
2
|
$searchFilter: SearchFilterInput,
|
|
3
3
|
$pagination: PaginationInput
|
|
4
4
|
) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as m,j as e}from"./floating-ui.react-dom-BWTnA00G.js";import{a as oe,b as K,M as q}from"./useNoteMutate-VJYw0Vt_.js";import{u as de,t as ce,q as x,v as ue,w as pe,x as me,P as he,T as s,B as o,M as d,I as v,y as xe,z as be,e as ve,h as ye}from"./time-DZKkPFUi.js";import{a as ge}from"./url-BvjSC8PU.js";const fe=ye(ge),W=[{value:"text",label:"Text",description:"Short status or label values."},{value:"url",label:"URL",description:"External sources, issues, docs, or references."},{value:"number",label:"Number",description:"Priority, score, or count values."},{value:"date",label:"Date",description:"Due dates and milestones."},{value:"boolean",label:"Boolean",description:"True or false flags."},{value:"select",label:"Select",description:"Choose one option from a controlled list."}],je=l=>!l.id&&!l.label.trim()&&!l.value.trim(),Ne=l=>(l.value.trim()||l.label.trim()).toLowerCase().replace(/\s+/g,"-"),Ce=l=>/^[a-z0-9][a-z0-9_-]*$/.test(l),X=l=>l.filter(r=>r.id||r.label.trim()).map((r,F)=>({...r.id?{id:r.id}:{},label:r.label.trim(),value:r.value.trim()||r.label.trim(),color:r.color??null,order:r.order??F}));function Ee(){const l=ve(),r=de(),F=fe.useSearch(),Z=Number(F.page??1),R=50,V=Math.max(0,Z-1)*R,[O,Q]=m.useState(""),[I,A]=m.useState(""),[y,$]=m.useState("text"),[D,j]=m.useState([{label:"",value:""}]),[u,N]=m.useState(null),[i,H]=m.useState(null),[k,L]=m.useState(""),[E,g]=m.useState([{label:"",value:""}]),[ee,C]=m.useState(!1),T=()=>{Q(""),A(""),$("text"),j([{label:"",value:""}])},ae=a=>{H(a),L(a.name),g(a.options.length>0?a.options.map(t=>({id:t.id,label:t.label,value:t.value,color:t.color,order:t.order})):[{label:"",value:""}])},S=()=>{H(null),L(""),g([{label:"",value:""}])},M=oe({queryKey:x.notes.propertyKeys({limit:R,offset:V}),queryFn:async()=>{const a=await ce({limit:R,offset:V});if(a.type==="error")throw a;return a.notePropertyKeys}}),w=K({mutationFn:async()=>ue({key:O,name:I||O,valueType:y,...y==="select"?{options:D.map((a,t)=>({label:a.label.trim(),value:a.value.trim()||a.label.trim(),order:t})).filter(a=>a.label)}:{}}),onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to create property.");return}T(),C(!1),r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),l("Property created.")},onError:()=>{l("Failed to create property.")}}),h=K({mutationFn:async()=>{if(!i)throw new Error("Property to edit is missing.");return pe({key:i.key,name:k||i.key,...i.valueType==="select"?{options:X(E)}:{}})},onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to update property.");return}S(),r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),r.invalidateQueries({queryKey:x.notes.all(),exact:!1}),r.invalidateQueries({queryKey:x.views.all(),exact:!1}),l("Property updated.")},onError:()=>{l("Failed to update property.")}}),f=K({mutationFn:async({propertyKey:a,confirmImpact:t})=>me({key:a.key,confirmImpact:t}),onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to delete property.");return}r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),r.invalidateQueries({queryKey:x.notes.all(),exact:!1}),r.invalidateQueries({queryKey:x.views.all(),exact:!1}),N(null),l(a.deleteNotePropertyKey.affectedNoteCount>0?`Property deleted from ${a.deleteNotePropertyKey.affectedNoteCount} note(s).`:"Property deleted.")},onError:()=>{l("Failed to delete property.")}}),P=M.data?.keys??[],se=y!=="select"||D.some(a=>a.label.trim()),z=i?.valueType==="select"?E.filter(a=>!je(a)):[],_=z.map(Ne),B=_.find((a,t)=>_.indexOf(a)!==t),U=_.find(a=>!Ce(a)),J=z.some(a=>!!a.id&&!a.label.trim()),Y=z.some(a=>!a.id&&!a.label.trim()),te=!i||i.valueType!=="select"||z.length>0&&!J&&!Y&&!B&&!U,le=!!i&&k.trim()!==i?.name,re=i?.valueType==="select"&&JSON.stringify(X(E))!==JSON.stringify(i.options.map(a=>({id:a.id,label:a.label,value:a.value,color:a.color??null,order:a.order}))),ie=le||!!re,G=J?"Existing option labels cannot be empty.":Y?"New options need a label.":B?`Option value “${B}” is duplicated.`:U?"Option values must use letters, numbers, dashes, or underscores.":"",ne=()=>{u&&f.mutate({propertyKey:u,confirmImpact:u.noteCount>0})};return e.jsxs(he,{title:"Properties",description:"Define shared note fields before using them in notes and future views.",headerRight:e.jsx(o,{type:"button",size:"md",variant:"primary",className:"w-full sm:w-auto",onClick:()=>C(!0),children:"New property"}),children:[e.jsxs("section",{className:"flex flex-col gap-3","aria-labelledby":"shared-properties-heading",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(s,{id:"shared-properties-heading",as:"h2",variant:"label",weight:"medium",className:"text-fg-tertiary",children:"Shared fields"}),!M.isLoading&&P.length>0&&e.jsxs(s,{as:"span",variant:"meta",tone:"tertiary",children:[P.length," field",P.length===1?"":"s"]})]}),M.isLoading?e.jsx(s,{as:"p",variant:"body",tone:"tertiary",className:"surface-base px-4 py-3.5",children:"Loading properties..."}):P.length===0?e.jsxs("div",{className:"surface-base border-dashed p-6 text-center",children:[e.jsx(s,{as:"p",variant:"body",weight:"medium",children:"No shared properties yet."}),e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Create one here, then attach it from the note screen."})]}):e.jsx("div",{className:"flex flex-col gap-3",children:P.map(a=>e.jsxs("article",{className:"surface-base grid gap-3 px-4 py-3.5 md:grid-cols-[minmax(0,1fr)_120px_120px_auto] md:items-center",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"h3",variant:"body",weight:"semibold",className:"truncate",children:a.name}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"font-mono",children:a.key}),a.options.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[a.options.slice(0,6).map(t=>e.jsx("span",{className:"rounded-full border border-border-subtle bg-subtle px-2 py-0.5 text-xs font-medium text-fg-secondary",children:t.label},t.id)),a.options.length>6&&e.jsxs("span",{className:"rounded-full border border-border-subtle bg-subtle px-2 py-0.5 text-xs font-medium text-fg-tertiary",children:["+",a.options.length-6]})]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block md:hidden",children:"Type"}),e.jsx(s,{as:"span",variant:"label",tone:"secondary",className:"capitalize",children:a.valueType})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block md:hidden",children:"Used in"}),e.jsxs(s,{as:"span",variant:"label",tone:"tertiary",children:[a.noteCount," note",a.noteCount===1?"":"s"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 justify-self-start md:justify-self-end",children:[e.jsx(o,{type:"button",size:"sm",variant:"subtle",disabled:h.isPending||f.isPending,onClick:()=>ae(a),children:"Edit"}),e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",disabled:f.isPending||h.isPending,onClick:()=>N(a),children:"Delete"})]})]},a.key))})]}),e.jsxs(d,{isOpen:ee,onClose:()=>{w.isPending||(C(!1),T())},variant:"form",children:[e.jsx(d.Header,{title:"New property",onClose:()=>{C(!1),T()}}),e.jsx(d.Body,{children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Create a shared field that notes can use for values and future views."}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Key"}),e.jsx(v,{size:"md",placeholder:"status",value:O,onChange:a=>Q(a.target.value)})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Name"}),e.jsx(v,{size:"md",placeholder:"Status",value:I,onChange:a=>A(a.target.value)})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{id:"property-type-label",as:"span",variant:"label",weight:"medium",children:"Type"}),e.jsx(xe,{value:y,"aria-labelledby":"property-type-label",onValueChange:a=>$(a),children:W.map(a=>e.jsx(be,{value:a.value,children:a.label},a.value))})]}),y==="select"&&e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 p-3",children:[e.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[e.jsx(s,{as:"span",variant:"label",weight:"semibold",children:"Options"}),e.jsx(o,{type:"button",size:"sm",variant:"subtle",onClick:()=>j(a=>[...a,{label:"",value:""}]),children:"Add option"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:D.map((a,t)=>e.jsxs("div",{className:"grid gap-2 sm:grid-cols-[1fr_1fr_auto]",children:[e.jsx(v,{size:"sm",placeholder:"Label",value:a.label,onChange:c=>j(p=>p.map((n,b)=>b===t?{...n,label:c.target.value}:n))}),e.jsx(v,{size:"sm",placeholder:"value",value:a.value,onChange:c=>j(p=>p.map((n,b)=>b===t?{...n,value:c.target.value}:n))}),e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",onClick:()=>j(c=>c.filter((p,n)=>n!==t)),children:"Remove"})]},t))})]}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",children:W.find(a=>a.value===y)?.description})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:w.isPending,onClick:()=>{C(!1),T()},children:"Cancel"}),e.jsx(o,{type:"button",variant:"primary",size:"sm",disabled:!O.trim()||!se||w.isPending,isLoading:w.isPending,onClick:()=>w.mutate(),children:"Create property"})]})})]}),e.jsxs(d,{isOpen:!!i,onClose:()=>{h.isPending||S()},variant:"form",children:[e.jsx(d.Header,{title:"Edit property",onClose:()=>{h.isPending||S()}}),e.jsx(d.Body,{children:i&&e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Rename the display label or add select options. Key, type, and existing option values stay fixed so notes and views remain stable."}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 px-3 py-2",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block",children:"Key"}),e.jsx(s,{as:"span",variant:"label",weight:"medium",className:"font-mono",children:i.key})]}),e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 px-3 py-2",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block",children:"Type"}),e.jsx(s,{as:"span",variant:"label",weight:"medium",className:"capitalize",children:i.valueType})]})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Display name"}),e.jsx(v,{size:"md",placeholder:"Workflow state",value:k,onChange:a=>L(a.target.value)})]}),i.valueType==="select"&&e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 p-3",children:[e.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx(s,{as:"span",variant:"label",weight:"semibold",children:"Options"}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"mt-0.5",children:"Existing option values are locked. Removing existing options needs an impact-aware delete flow."})]}),e.jsx(o,{type:"button",size:"sm",variant:"subtle",onClick:()=>g(a=>[...a,{label:"",value:""}]),children:"Add option"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:E.map((a,t)=>e.jsxs("div",{className:"grid gap-2 sm:grid-cols-[1fr_1fr_auto]",children:[e.jsx(v,{size:"sm",placeholder:"Label",value:a.label,onChange:c=>g(p=>p.map((n,b)=>b===t?{...n,label:c.target.value}:n))}),e.jsx(v,{size:"sm",placeholder:a.id?"Locked value":"value",value:a.value,disabled:!!a.id,onChange:c=>g(p=>p.map((n,b)=>b===t?{...n,value:c.target.value}:n))}),a.id?e.jsx(s,{as:"span",variant:"meta",tone:"tertiary",className:"flex h-8 items-center px-3",children:"Locked"}):e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",onClick:()=>g(c=>c.filter((p,n)=>n!==t)),children:"Remove"})]},a.id??`new-${t}`))}),G&&e.jsx(s,{as:"p",variant:"micro",tone:"error",className:"mt-2",children:G})]})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:h.isPending,onClick:S,children:"Cancel"}),e.jsx(o,{type:"button",variant:"primary",size:"sm",disabled:!k.trim()||!ie||!te||h.isPending,isLoading:h.isPending,onClick:()=>h.mutate(),children:"Save changes"})]})})]}),e.jsxs(d,{isOpen:!!u,onClose:()=>{f.isPending||N(null)},variant:"confirm",children:[e.jsx(d.Header,{title:"Delete property",onClose:()=>N(null)}),e.jsx(d.Body,{children:u&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs(s,{as:"p",variant:"body",weight:"medium",children:["Delete “",u.name,"”?"]}),u.noteCount>0?e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle p-3",children:[e.jsxs(s,{as:"p",variant:"label",tone:"secondary",children:["This property is used by ",u.noteCount," note",u.noteCount===1?"":"s","."]}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"mt-1 leading-5",children:"Deleting it removes this value from those notes. Future views using this property will need configuration."})]}):e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"This property is not used by any note yet."})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:f.isPending,onClick:()=>N(null),children:"Cancel"}),e.jsx(o,{type:"button",variant:"danger",size:"sm",isLoading:f.isPending,onClick:ne,children:"Delete"})]})})]})]})}export{Ee as default};
|
|
1
|
+
import{r as m,j as e}from"./floating-ui.react-dom-BWTnA00G.js";import{a as oe,b as K,M as q}from"./useNoteMutate-xEIypxi5.js";import{u as de,t as ce,q as x,v as ue,w as pe,x as me,P as he,T as s,B as o,M as d,I as v,y as xe,z as be,e as ve,h as ye}from"./time-DI902Sxa.js";import{a as ge}from"./url-BvjSC8PU.js";const fe=ye(ge),W=[{value:"text",label:"Text",description:"Short status or label values."},{value:"url",label:"URL",description:"External sources, issues, docs, or references."},{value:"number",label:"Number",description:"Priority, score, or count values."},{value:"date",label:"Date",description:"Due dates and milestones."},{value:"boolean",label:"Boolean",description:"True or false flags."},{value:"select",label:"Select",description:"Choose one option from a controlled list."}],je=l=>!l.id&&!l.label.trim()&&!l.value.trim(),Ne=l=>(l.value.trim()||l.label.trim()).toLowerCase().replace(/\s+/g,"-"),Ce=l=>/^[a-z0-9][a-z0-9_-]*$/.test(l),X=l=>l.filter(r=>r.id||r.label.trim()).map((r,F)=>({...r.id?{id:r.id}:{},label:r.label.trim(),value:r.value.trim()||r.label.trim(),color:r.color??null,order:r.order??F}));function Ee(){const l=ve(),r=de(),F=fe.useSearch(),Z=Number(F.page??1),R=50,V=Math.max(0,Z-1)*R,[O,Q]=m.useState(""),[I,A]=m.useState(""),[y,$]=m.useState("text"),[D,j]=m.useState([{label:"",value:""}]),[u,N]=m.useState(null),[i,H]=m.useState(null),[k,L]=m.useState(""),[E,g]=m.useState([{label:"",value:""}]),[ee,C]=m.useState(!1),T=()=>{Q(""),A(""),$("text"),j([{label:"",value:""}])},ae=a=>{H(a),L(a.name),g(a.options.length>0?a.options.map(t=>({id:t.id,label:t.label,value:t.value,color:t.color,order:t.order})):[{label:"",value:""}])},S=()=>{H(null),L(""),g([{label:"",value:""}])},M=oe({queryKey:x.notes.propertyKeys({limit:R,offset:V}),queryFn:async()=>{const a=await ce({limit:R,offset:V});if(a.type==="error")throw a;return a.notePropertyKeys}}),w=K({mutationFn:async()=>ue({key:O,name:I||O,valueType:y,...y==="select"?{options:D.map((a,t)=>({label:a.label.trim(),value:a.value.trim()||a.label.trim(),order:t})).filter(a=>a.label)}:{}}),onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to create property.");return}T(),C(!1),r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),l("Property created.")},onError:()=>{l("Failed to create property.")}}),h=K({mutationFn:async()=>{if(!i)throw new Error("Property to edit is missing.");return pe({key:i.key,name:k||i.key,...i.valueType==="select"?{options:X(E)}:{}})},onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to update property.");return}S(),r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),r.invalidateQueries({queryKey:x.notes.all(),exact:!1}),r.invalidateQueries({queryKey:x.views.all(),exact:!1}),l("Property updated.")},onError:()=>{l("Failed to update property.")}}),f=K({mutationFn:async({propertyKey:a,confirmImpact:t})=>me({key:a.key,confirmImpact:t}),onSuccess:a=>{if(a.type==="error"){l(a.errors[0]?.message??"Failed to delete property.");return}r.invalidateQueries({queryKey:x.notes.propertyKeysAll(),exact:!1}),r.invalidateQueries({queryKey:x.notes.all(),exact:!1}),r.invalidateQueries({queryKey:x.views.all(),exact:!1}),N(null),l(a.deleteNotePropertyKey.affectedNoteCount>0?`Property deleted from ${a.deleteNotePropertyKey.affectedNoteCount} note(s).`:"Property deleted.")},onError:()=>{l("Failed to delete property.")}}),P=M.data?.keys??[],se=y!=="select"||D.some(a=>a.label.trim()),z=i?.valueType==="select"?E.filter(a=>!je(a)):[],_=z.map(Ne),B=_.find((a,t)=>_.indexOf(a)!==t),U=_.find(a=>!Ce(a)),J=z.some(a=>!!a.id&&!a.label.trim()),Y=z.some(a=>!a.id&&!a.label.trim()),te=!i||i.valueType!=="select"||z.length>0&&!J&&!Y&&!B&&!U,le=!!i&&k.trim()!==i?.name,re=i?.valueType==="select"&&JSON.stringify(X(E))!==JSON.stringify(i.options.map(a=>({id:a.id,label:a.label,value:a.value,color:a.color??null,order:a.order}))),ie=le||!!re,G=J?"Existing option labels cannot be empty.":Y?"New options need a label.":B?`Option value “${B}” is duplicated.`:U?"Option values must use letters, numbers, dashes, or underscores.":"",ne=()=>{u&&f.mutate({propertyKey:u,confirmImpact:u.noteCount>0})};return e.jsxs(he,{title:"Properties",description:"Define shared note fields before using them in notes and future views.",headerRight:e.jsx(o,{type:"button",size:"md",variant:"primary",className:"w-full sm:w-auto",onClick:()=>C(!0),children:"New property"}),children:[e.jsxs("section",{className:"flex flex-col gap-3","aria-labelledby":"shared-properties-heading",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsx(s,{id:"shared-properties-heading",as:"h2",variant:"label",weight:"medium",className:"text-fg-tertiary",children:"Shared fields"}),!M.isLoading&&P.length>0&&e.jsxs(s,{as:"span",variant:"meta",tone:"tertiary",children:[P.length," field",P.length===1?"":"s"]})]}),M.isLoading?e.jsx(s,{as:"p",variant:"body",tone:"tertiary",className:"surface-base px-4 py-3.5",children:"Loading properties..."}):P.length===0?e.jsxs("div",{className:"surface-base border-dashed p-6 text-center",children:[e.jsx(s,{as:"p",variant:"body",weight:"medium",children:"No shared properties yet."}),e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Create one here, then attach it from the note screen."})]}):e.jsx("div",{className:"flex flex-col gap-3",children:P.map(a=>e.jsxs("article",{className:"surface-base grid gap-3 px-4 py-3.5 md:grid-cols-[minmax(0,1fr)_120px_120px_auto] md:items-center",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"h3",variant:"body",weight:"semibold",className:"truncate",children:a.name}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"font-mono",children:a.key}),a.options.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[a.options.slice(0,6).map(t=>e.jsx("span",{className:"rounded-full border border-border-subtle bg-subtle px-2 py-0.5 text-xs font-medium text-fg-secondary",children:t.label},t.id)),a.options.length>6&&e.jsxs("span",{className:"rounded-full border border-border-subtle bg-subtle px-2 py-0.5 text-xs font-medium text-fg-tertiary",children:["+",a.options.length-6]})]})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block md:hidden",children:"Type"}),e.jsx(s,{as:"span",variant:"label",tone:"secondary",className:"capitalize",children:a.valueType})]}),e.jsxs("div",{className:"min-w-0",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block md:hidden",children:"Used in"}),e.jsxs(s,{as:"span",variant:"label",tone:"tertiary",children:[a.noteCount," note",a.noteCount===1?"":"s"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2 justify-self-start md:justify-self-end",children:[e.jsx(o,{type:"button",size:"sm",variant:"subtle",disabled:h.isPending||f.isPending,onClick:()=>ae(a),children:"Edit"}),e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",disabled:f.isPending||h.isPending,onClick:()=>N(a),children:"Delete"})]})]},a.key))})]}),e.jsxs(d,{isOpen:ee,onClose:()=>{w.isPending||(C(!1),T())},variant:"form",children:[e.jsx(d.Header,{title:"New property",onClose:()=>{C(!1),T()}}),e.jsx(d.Body,{children:e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Create a shared field that notes can use for values and future views."}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Key"}),e.jsx(v,{size:"md",placeholder:"status",value:O,onChange:a=>Q(a.target.value)})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Name"}),e.jsx(v,{size:"md",placeholder:"Status",value:I,onChange:a=>A(a.target.value)})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{id:"property-type-label",as:"span",variant:"label",weight:"medium",children:"Type"}),e.jsx(xe,{value:y,"aria-labelledby":"property-type-label",onValueChange:a=>$(a),children:W.map(a=>e.jsx(be,{value:a.value,children:a.label},a.value))})]}),y==="select"&&e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 p-3",children:[e.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[e.jsx(s,{as:"span",variant:"label",weight:"semibold",children:"Options"}),e.jsx(o,{type:"button",size:"sm",variant:"subtle",onClick:()=>j(a=>[...a,{label:"",value:""}]),children:"Add option"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:D.map((a,t)=>e.jsxs("div",{className:"grid gap-2 sm:grid-cols-[1fr_1fr_auto]",children:[e.jsx(v,{size:"sm",placeholder:"Label",value:a.label,onChange:c=>j(p=>p.map((n,b)=>b===t?{...n,label:c.target.value}:n))}),e.jsx(v,{size:"sm",placeholder:"value",value:a.value,onChange:c=>j(p=>p.map((n,b)=>b===t?{...n,value:c.target.value}:n))}),e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",onClick:()=>j(c=>c.filter((p,n)=>n!==t)),children:"Remove"})]},t))})]}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",children:W.find(a=>a.value===y)?.description})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:w.isPending,onClick:()=>{C(!1),T()},children:"Cancel"}),e.jsx(o,{type:"button",variant:"primary",size:"sm",disabled:!O.trim()||!se||w.isPending,isLoading:w.isPending,onClick:()=>w.mutate(),children:"Create property"})]})})]}),e.jsxs(d,{isOpen:!!i,onClose:()=>{h.isPending||S()},variant:"form",children:[e.jsx(d.Header,{title:"Edit property",onClose:()=>{h.isPending||S()}}),e.jsx(d.Body,{children:i&&e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"Rename the display label or add select options. Key, type, and existing option values stay fixed so notes and views remain stable."}),e.jsxs("div",{className:"grid gap-2 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 px-3 py-2",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block",children:"Key"}),e.jsx(s,{as:"span",variant:"label",weight:"medium",className:"font-mono",children:i.key})]}),e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 px-3 py-2",children:[e.jsx(s,{as:"span",variant:"micro",tone:"tertiary",className:"block",children:"Type"}),e.jsx(s,{as:"span",variant:"label",weight:"medium",className:"capitalize",children:i.valueType})]})]}),e.jsxs("label",{className:"flex flex-col gap-1.5",children:[e.jsx(s,{as:"span",variant:"label",weight:"medium",children:"Display name"}),e.jsx(v,{size:"md",placeholder:"Workflow state",value:k,onChange:a=>L(a.target.value)})]}),i.valueType==="select"&&e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle/50 p-3",children:[e.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx(s,{as:"span",variant:"label",weight:"semibold",children:"Options"}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"mt-0.5",children:"Existing option values are locked. Removing existing options needs an impact-aware delete flow."})]}),e.jsx(o,{type:"button",size:"sm",variant:"subtle",onClick:()=>g(a=>[...a,{label:"",value:""}]),children:"Add option"})]}),e.jsx("div",{className:"flex flex-col gap-2",children:E.map((a,t)=>e.jsxs("div",{className:"grid gap-2 sm:grid-cols-[1fr_1fr_auto]",children:[e.jsx(v,{size:"sm",placeholder:"Label",value:a.label,onChange:c=>g(p=>p.map((n,b)=>b===t?{...n,label:c.target.value}:n))}),e.jsx(v,{size:"sm",placeholder:a.id?"Locked value":"value",value:a.value,disabled:!!a.id,onChange:c=>g(p=>p.map((n,b)=>b===t?{...n,value:c.target.value}:n))}),a.id?e.jsx(s,{as:"span",variant:"meta",tone:"tertiary",className:"flex h-8 items-center px-3",children:"Locked"}):e.jsx(o,{type:"button",size:"sm",variant:"soft-danger",onClick:()=>g(c=>c.filter((p,n)=>n!==t)),children:"Remove"})]},a.id??`new-${t}`))}),G&&e.jsx(s,{as:"p",variant:"micro",tone:"error",className:"mt-2",children:G})]})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:h.isPending,onClick:S,children:"Cancel"}),e.jsx(o,{type:"button",variant:"primary",size:"sm",disabled:!k.trim()||!ie||!te||h.isPending,isLoading:h.isPending,onClick:()=>h.mutate(),children:"Save changes"})]})})]}),e.jsxs(d,{isOpen:!!u,onClose:()=>{f.isPending||N(null)},variant:"confirm",children:[e.jsx(d.Header,{title:"Delete property",onClose:()=>N(null)}),e.jsx(d.Body,{children:u&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs(s,{as:"p",variant:"body",weight:"medium",children:["Delete “",u.name,"”?"]}),u.noteCount>0?e.jsxs("div",{className:"rounded-[14px] border border-border-subtle bg-subtle p-3",children:[e.jsxs(s,{as:"p",variant:"label",tone:"secondary",children:["This property is used by ",u.noteCount," note",u.noteCount===1?"":"s","."]}),e.jsx(s,{as:"p",variant:"micro",tone:"tertiary",className:"mt-1 leading-5",children:"Deleting it removes this value from those notes. Future views using this property will need configuration."})]}):e.jsx(s,{as:"p",variant:"label",tone:"tertiary",children:"This property is not used by any note yet."})]})}),e.jsx(d.Footer,{children:e.jsxs(q,{children:[e.jsx(o,{type:"button",variant:"ghost",size:"sm",disabled:f.isPending,onClick:()=>N(null),children:"Cancel"}),e.jsx(o,{type:"button",variant:"danger",size:"sm",isLoading:f.isPending,onClick:ne,children:"Delete"})]})})]})]})}export{Ee as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as Ae,g as ke,n as ae,m as Fe,a as Pe,b as ve,_ as o,c as Vt,l as bt,d as Ce,o as Le,B as V,h as Ee,V as De}from"./mermaid.core-
|
|
1
|
+
import{s as Ae,g as ke,n as ae,m as Fe,a as Pe,b as ve,_ as o,c as Vt,l as bt,d as Ce,o as Le,B as V,h as Ee,V as De}from"./mermaid.core-C2tL9tq7.js";import{s as Lt}from"./transform-BUB79_za.js";import{l as ie}from"./linear-D6yRgDLq.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";import"./init-Gi6I4Gst.js";import"./defaultLocale-DX6XiGOO.js";var Et=(function(){var t=o(function(Y,r,l,x){for(l=l||{},x=Y.length;x--;l[Y[x]]=r);return l},"o"),n=[1,3],f=[1,4],d=[1,5],h=[1,6],p=[1,7],y=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],_=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],a=[55,56,57],k=[2,36],u=[1,37],T=[1,36],m=[1,38],q=[1,35],b=[1,43],g=[1,41],A=[1,45],ht=[1,14],xt=[1,23],ft=[1,18],gt=[1,19],ct=[1,20],_t=[1,21],dt=[1,22],i=[1,24],zt=[1,25],It=[1,26],wt=[1,27],Bt=[1,28],Rt=[1,29],U=[1,32],Q=[1,33],F=[1,34],P=[1,39],v=[1,40],C=[1,42],L=[1,44],H=[1,63],X=[1,62],E=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],Nt=[1,66],Wt=[1,67],Ut=[1,68],Qt=[1,69],Ot=[1,70],Ht=[1,71],Xt=[1,72],Mt=[1,73],Yt=[1,74],jt=[1,75],Gt=[1,76],Kt=[1,77],w=[4,5,6,7,8,9,10,11,12,13,14,15,18],K=[1,91],Z=[1,92],J=[1,93],$=[1,100],tt=[1,94],et=[1,97],it=[1,95],at=[1,96],nt=[1,98],st=[1,99],At=[1,103],Zt=[10,55,56,57],N=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],kt={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(r,l,x,c,S,e,ut){var s=e.length-1;switch(S){case 23:this.$=e[s];break;case 24:this.$=e[s-1]+""+e[s];break;case 26:this.$=e[s-1]+e[s];break;case 27:this.$=[e[s].trim()];break;case 28:e[s-2].push(e[s].trim()),this.$=e[s-2];break;case 29:this.$=e[s-4],c.addClass(e[s-2],e[s]);break;case 37:this.$=[];break;case 42:this.$=e[s].trim(),c.setDiagramTitle(this.$);break;case 43:this.$=e[s].trim(),c.setAccTitle(this.$);break;case 44:case 45:this.$=e[s].trim(),c.setAccDescription(this.$);break;case 46:c.addSection(e[s].substr(8)),this.$=e[s].substr(8);break;case 47:c.addPoint(e[s-3],"",e[s-1],e[s],[]);break;case 48:c.addPoint(e[s-4],e[s-3],e[s-1],e[s],[]);break;case 49:c.addPoint(e[s-4],"",e[s-2],e[s-1],e[s]);break;case 50:c.addPoint(e[s-5],e[s-4],e[s-2],e[s-1],e[s]);break;case 51:c.setXAxisLeftText(e[s-2]),c.setXAxisRightText(e[s]);break;case 52:e[s-1].text+=" ⟶ ",c.setXAxisLeftText(e[s-1]);break;case 53:c.setXAxisLeftText(e[s]);break;case 54:c.setYAxisBottomText(e[s-2]),c.setYAxisTopText(e[s]);break;case 55:e[s-1].text+=" ⟶ ",c.setYAxisBottomText(e[s-1]);break;case 56:c.setYAxisBottomText(e[s]);break;case 57:c.setQuadrant1Text(e[s]);break;case 58:c.setQuadrant2Text(e[s]);break;case 59:c.setQuadrant3Text(e[s]);break;case 60:c.setQuadrant4Text(e[s]);break;case 64:this.$={text:e[s],type:"text"};break;case 65:this.$={text:e[s-1].text+""+e[s],type:e[s-1].type};break;case 66:this.$={text:e[s],type:"text"};break;case 67:this.$={text:e[s],type:"markdown"};break;case 68:this.$=e[s];break;case 69:this.$=e[s-1]+""+e[s];break}},"anonymous"),table:[{18:n,26:1,27:2,28:f,55:d,56:h,57:p},{1:[3]},{18:n,26:8,27:2,28:f,55:d,56:h,57:p},{18:n,26:9,27:2,28:f,55:d,56:h,57:p},t(y,[2,33],{29:10}),t(_,[2,61]),t(_,[2,62]),t(_,[2,63]),{1:[2,30]},{1:[2,31]},t(a,k,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:zt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(y,[2,34]),{27:46,55:d,56:h,57:p},t(a,[2,37]),t(a,k,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:u,5:T,10:m,12:q,13:b,14:g,15:A,18:ht,25:xt,35:ft,37:gt,39:ct,41:_t,42:dt,48:i,50:zt,51:It,52:wt,53:Bt,54:Rt,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,39]),t(a,[2,40]),t(a,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(a,[2,45]),t(a,[2,46]),{18:[1,51]},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:52,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:53,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:54,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:55,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:56,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,10:m,12:q,13:b,14:g,15:A,43:57,58:31,60:U,61:Q,63:F,64:P,65:v,66:C,67:L},{4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,44:[1,58],47:[1,59],58:61,59:60,63:F,64:P,65:v,66:C,67:L},t(E,[2,64]),t(E,[2,66]),t(E,[2,67]),t(E,[2,70]),t(E,[2,71]),t(E,[2,72]),t(E,[2,73]),t(E,[2,74]),t(E,[2,75]),t(E,[2,76]),t(E,[2,77]),t(E,[2,78]),t(E,[2,79]),t(E,[2,80]),t(E,[2,81]),t(y,[2,35]),t(a,[2,38]),t(a,[2,42]),t(a,[2,43]),t(a,[2,44]),{3:65,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,21:64},t(a,[2,53],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,78],63:F,64:P,65:v,66:C,67:L}),t(a,[2,56],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,49:[1,79],63:F,64:P,65:v,66:C,67:L}),t(a,[2,57],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,58],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,59],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,60],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),{45:[1,80]},{44:[1,81]},t(E,[2,65]),t(E,[2,82]),t(E,[2,83]),t(E,[2,84]),{3:83,4:Nt,5:Wt,6:Ut,7:Qt,8:Ot,9:Ht,10:Xt,11:Mt,12:Yt,13:jt,14:Gt,15:Kt,18:[1,82]},t(w,[2,23]),t(w,[2,1]),t(w,[2,2]),t(w,[2,3]),t(w,[2,4]),t(w,[2,5]),t(w,[2,6]),t(w,[2,7]),t(w,[2,8]),t(w,[2,9]),t(w,[2,10]),t(w,[2,11]),t(w,[2,12]),t(a,[2,52],{58:31,43:84,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),t(a,[2,55],{58:31,43:85,4:u,5:T,10:m,12:q,13:b,14:g,15:A,60:U,61:Q,63:F,64:P,65:v,66:C,67:L}),{46:[1,86]},{45:[1,87]},{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:89,23:88},t(w,[2,24]),t(a,[2,51],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,54],{59:60,58:61,4:u,5:T,8:H,10:m,12:q,13:b,14:g,15:A,18:X,63:F,64:P,65:v,66:C,67:L}),t(a,[2,47],{22:89,16:90,23:101,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{46:[1,102]},t(a,[2,29],{10:At}),t(Zt,[2,27],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),t(N,[2,25]),t(N,[2,13]),t(N,[2,14]),t(N,[2,15]),t(N,[2,16]),t(N,[2,17]),t(N,[2,18]),t(N,[2,19]),t(N,[2,20]),t(N,[2,21]),t(N,[2,22]),t(a,[2,49],{10:At}),t(a,[2,48],{22:89,16:90,23:105,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st}),{4:K,5:Z,6:J,8:$,11:tt,13:et,16:90,17:it,18:at,19:nt,20:st,22:106},t(N,[2,26]),t(a,[2,50],{10:At}),t(Zt,[2,28],{16:104,4:K,5:Z,6:J,8:$,11:tt,13:et,17:it,18:at,19:nt,20:st})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(r,l){if(l.recoverable)this.trace(r);else{var x=new Error(r);throw x.hash=l,x}},"parseError"),parse:o(function(r){var l=this,x=[0],c=[],S=[null],e=[],ut=this.table,s="",yt=0,Jt=0,qe=2,$t=1,be=e.slice.call(arguments,1),D=Object.create(this.lexer),j={yy:{}};for(var Ft in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ft)&&(j.yy[Ft]=this.yy[Ft]);D.setInput(r,j.yy),j.yy.lexer=D,j.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Pt=D.yylloc;e.push(Pt);var Se=D.options&&D.options.ranges;typeof j.yy.parseError=="function"?this.parseError=j.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function _e(R){x.length=x.length-2*R,S.length=S.length-R,e.length=e.length-R}o(_e,"popStack");function te(){var R;return R=c.pop()||D.lex()||$t,typeof R!="number"&&(R instanceof Array&&(c=R,R=c.pop()),R=l.symbols_[R]||R),R}o(te,"lex");for(var B,G,W,vt,rt={},Tt,M,ee,mt;;){if(G=x[x.length-1],this.defaultActions[G]?W=this.defaultActions[G]:((B===null||typeof B>"u")&&(B=te()),W=ut[G]&&ut[G][B]),typeof W>"u"||!W.length||!W[0]){var Ct="";mt=[];for(Tt in ut[G])this.terminals_[Tt]&&Tt>qe&&mt.push("'"+this.terminals_[Tt]+"'");D.showPosition?Ct="Parse error on line "+(yt+1)+`:
|
|
2
2
|
`+D.showPosition()+`
|
|
3
3
|
Expecting `+mt.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Ct="Parse error on line "+(yt+1)+": Unexpected "+(B==$t?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Ct,{text:D.match,token:this.terminals_[B]||B,line:D.yylineno,loc:Pt,expected:mt})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+B);switch(W[0]){case 1:x.push(B),S.push(D.yytext),e.push(D.yylloc),x.push(W[1]),B=null,Jt=D.yyleng,s=D.yytext,yt=D.yylineno,Pt=D.yylloc;break;case 2:if(M=this.productions_[W[1]][1],rt.$=S[S.length-M],rt._$={first_line:e[e.length-(M||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(M||1)].first_column,last_column:e[e.length-1].last_column},Se&&(rt._$.range=[e[e.length-(M||1)].range[0],e[e.length-1].range[1]]),vt=this.performAction.apply(rt,[s,Jt,yt,j.yy,W[1],S,e].concat(be)),typeof vt<"u")return vt;M&&(x=x.slice(0,-1*M*2),S=S.slice(0,-1*M),e=e.slice(0,-1*M)),x.push(this.productions_[W[1]][0]),S.push(rt.$),e.push(rt._$),ee=ut[x[x.length-2]][x[x.length-1]],x.push(ee);break;case 3:return!0}}return!0},"parse")},me=(function(){var Y={EOF:1,parseError:o(function(l,x){if(this.yy.parser)this.yy.parser.parseError(l,x);else throw new Error(l)},"parseError"),setInput:o(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:o(function(r){var l=r.length,x=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===c.length?this.yylloc.first_column:0)+c[c.length-x.length].length-x[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(r){this.unput(this.match.slice(r))},"less"),pastInput:o(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as s,r as l,d as t}from"./chunk-
|
|
1
|
+
import{g as s,r as l,d as t}from"./chunk-6Q2QTUOP-xZ8ofRqk.js";import{p as m}from"./chunk-JWPE2WC7-DsyTXbuq.js";import{_ as n,l as i}from"./mermaid.core-C2tL9tq7.js";import"./transform-BUB79_za.js";import{M as p,c as u}from"./cynefin-VYW2F7L2-DU_G4Atc.js";import"./preload-helper-BXl3LOEh.js";import"./floating-ui.react-dom-BWTnA00G.js";var d=u().Railroad.parser.LangiumParser,a=n(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{const r=e.elements.map(a);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{const r=e.alternatives.map(a);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:a(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:a(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:a(e.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),c=n(e=>({name:e.name,definition:a(e.definition)}),"transformRule"),g=n(e=>{m(e,t),e.title&&t.setTitle(e.title),e.rules.map(r=>t.addRule(c(r)))},"populateDb"),y={parse:n(e=>{t.clear(),i.debug("[Railroad Parser] Starting Langium parse");const r=d.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p(r);const o=r.value;i.debug("[Railroad Parser] Parsed rules:",o.rules.length),g(o),i.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t}},b={parser:y,db:t,renderer:l,styles:s};export{b as diagram};
|