UNPKG

tiptap-editor-codeveda

Version:

A powerful, feature-rich WYSIWYG editor built with Tiptap, React, and TypeScript

22 lines 154 kB
(function(D,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react"),require("@tiptap/react"),require("@tiptap/starter-kit"),require("@tiptap/extension-table"),require("@tiptap/extension-table-row"),require("@tiptap/extension-table-cell"),require("@tiptap/extension-table-header"),require("@tiptap/extension-image"),require("@tiptap/extension-link"),require("@tiptap/extension-text-style"),require("@tiptap/extension-color"),require("@tiptap/extension-highlight"),require("@tiptap/extension-code-block-lowlight"),require("lowlight"),require("@tiptap/extension-underline"),require("@tiptap/extension-strike"),require("@tiptap/extension-blockquote"),require("@tiptap/extension-horizontal-rule"),require("@tiptap/core"),require("lucide-react"),require("@radix-ui/react-slot"),require("class-variance-authority"),require("clsx"),require("tailwind-merge"),require("@floating-ui/react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","@tiptap/react","@tiptap/starter-kit","@tiptap/extension-table","@tiptap/extension-table-row","@tiptap/extension-table-cell","@tiptap/extension-table-header","@tiptap/extension-image","@tiptap/extension-link","@tiptap/extension-text-style","@tiptap/extension-color","@tiptap/extension-highlight","@tiptap/extension-code-block-lowlight","lowlight","@tiptap/extension-underline","@tiptap/extension-strike","@tiptap/extension-blockquote","@tiptap/extension-horizontal-rule","@tiptap/core","lucide-react","@radix-ui/react-slot","class-variance-authority","clsx","tailwind-merge","@floating-ui/react","react-dom"],k):(D=typeof globalThis<"u"?globalThis:D||self,k(D.TiptapEditorCodeveda={},D.React,D.react,D.StarterKit,D.extensionTable,D.TableRow,D.TableCell,D.TableHeader,D.Image,D.Link,D.extensionTextStyle,D.Color,D.Highlight,D.CodeBlockLowlight,D.lowlight$1,D.Underline,D.Strike,D.Blockquote,D.HorizontalRule,D.core,D.lucideReact,D.reactSlot,D.classVarianceAuthority,D.clsx,D.tailwindMerge,D.react$1,D.ReactDOM))})(this,(function(D,k,Y,jr,Pr,Bt,Ht,Ft,Dr,zr,Ur,Br,Hr,Fr,$t,$r,Jr,Vr,qr,K,_,Wr,Kr,Gr,Yr,ne,Jt){"use strict";function Zr(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return e.default=t,Object.freeze(e)}const ue=Zr(k);var We={exports:{}},ze={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Vt;function Xr(){if(Vt)return ze;Vt=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function n(r,i,o){var s=null;if(o!==void 0&&(s=""+o),i.key!==void 0&&(s=""+i.key),"key"in i){o={};for(var a in i)a!=="key"&&(o[a]=i[a])}else o=i;return i=o.ref,{$$typeof:t,type:r,key:s,ref:i!==void 0?i:null,props:o}}return ze.Fragment=e,ze.jsx=n,ze.jsxs=n,ze}var Ue={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var qt;function Qr(){return qt||(qt=1,process.env.NODE_ENV!=="production"&&(function(){function t(p){if(p==null)return null;if(typeof p=="function")return p.$$typeof===R?null:p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case b:return"Fragment";case E:return"Profiler";case x:return"StrictMode";case A:return"Suspense";case v:return"SuspenseList";case B:return"Activity"}if(typeof p=="object")switch(typeof p.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),p.$$typeof){case g:return"Portal";case S:return(p.displayName||"Context")+".Provider";case y:return(p._context.displayName||"Context")+".Consumer";case M:var I=p.render;return p=p.displayName,p||(p=I.displayName||I.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case w:return I=p.displayName||null,I!==null?I:t(p.type)||"Memo";case J:I=p._payload,p=p._init;try{return t(p(I))}catch{}}return null}function e(p){return""+p}function n(p){try{e(p);var I=!1}catch{I=!0}if(I){I=console;var F=I.error,W=typeof Symbol=="function"&&Symbol.toStringTag&&p[Symbol.toStringTag]||p.constructor.name||"Object";return F.call(I,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",W),e(p)}}function r(p){if(p===b)return"<>";if(typeof p=="object"&&p!==null&&p.$$typeof===J)return"<...>";try{var I=t(p);return I?"<"+I+">":"<...>"}catch{return"<...>"}}function i(){var p=$.A;return p===null?null:p.getOwner()}function o(){return Error("react-stack-top-frame")}function s(p){if(O.call(p,"key")){var I=Object.getOwnPropertyDescriptor(p,"key").get;if(I&&I.isReactWarning)return!1}return p.key!==void 0}function a(p,I){function F(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",I))}F.isReactWarning=!0,Object.defineProperty(p,"key",{get:F,configurable:!0})}function l(){var p=t(this.type);return z[p]||(z[p]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),p=this.props.ref,p!==void 0?p:null}function d(p,I,F,W,ke,be,Dt,zt){return F=be.ref,p={$$typeof:m,type:p,key:I,props:be,_owner:ke},(F!==void 0?F:null)!==null?Object.defineProperty(p,"ref",{enumerable:!1,get:l}):Object.defineProperty(p,"ref",{enumerable:!1,value:null}),p._store={},Object.defineProperty(p._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(p,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(p,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Dt}),Object.defineProperty(p,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:zt}),Object.freeze&&(Object.freeze(p.props),Object.freeze(p)),p}function u(p,I,F,W,ke,be,Dt,zt){var Q=I.children;if(Q!==void 0)if(W)if(j(Q)){for(W=0;W<Q.length;W++)f(Q[W]);Object.freeze&&Object.freeze(Q)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else f(Q);if(O.call(I,"key")){Q=t(p);var De=Object.keys(I).filter(function(ts){return ts!=="key"});W=0<De.length?"{key: someKey, "+De.join(": ..., ")+": ...}":"{key: someKey}",U[Q+W]||(De=0<De.length?"{"+De.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,W,Q,De,Q),U[Q+W]=!0)}if(Q=null,F!==void 0&&(n(F),Q=""+F),s(I)&&(n(I.key),Q=""+I.key),"key"in I){F={};for(var Ut in I)Ut!=="key"&&(F[Ut]=I[Ut])}else F=I;return Q&&a(F,typeof p=="function"?p.displayName||p.name||"Unknown":p),d(p,Q,be,ke,i(),F,Dt,zt)}function f(p){typeof p=="object"&&p!==null&&p.$$typeof===m&&p._store&&(p._store.validated=1)}var h=k,m=Symbol.for("react.transitional.element"),g=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),y=Symbol.for("react.consumer"),S=Symbol.for("react.context"),M=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),B=Symbol.for("react.activity"),R=Symbol.for("react.client.reference"),$=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,O=Object.prototype.hasOwnProperty,j=Array.isArray,T=console.createTask?console.createTask:function(){return null};h={react_stack_bottom_frame:function(p){return p()}};var N,z={},P=h.react_stack_bottom_frame.bind(h,o)(),C=T(r(o)),U={};Ue.Fragment=b,Ue.jsx=function(p,I,F,W,ke){var be=1e4>$.recentlyCreatedOwnerStacks++;return u(p,I,F,!1,W,ke,be?Error("react-stack-top-frame"):P,be?T(r(p)):C)},Ue.jsxs=function(p,I,F,W,ke){var be=1e4>$.recentlyCreatedOwnerStacks++;return u(p,I,F,!0,W,ke,be?Error("react-stack-top-frame"):P,be?T(r(p)):C)}})()),Ue}var Wt;function ei(){return Wt||(Wt=1,process.env.NODE_ENV==="production"?We.exports=Xr():We.exports=Qr()),We.exports}var c=ei();const Kt=jr.configure({codeBlock:!1}),Gt=Pr.Table.configure({resizable:!0}),Yt=Dr.configure({inline:!1,allowBase64:!1,HTMLAttributes:{class:"max-w-full h-auto rounded-lg shadow-sm"}}),Zt=zr.configure({openOnClick:!1,autolink:!0,defaultProtocol:"https"}),Xt=Ur.TextStyle,Qt=Br.configure({types:["textStyle"]}),en=Hr.configure({multicolor:!0}),ti=t=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:t.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:t.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),ni=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],ri=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ii=[...ni,...ri],oi=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),si=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),ai=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),li=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function ci(t){const e=t.regex,n=ti(t),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+si.join("|")+")"},{begin:":(:)?("+ai.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+li.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:oi.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+ii.join("|")+")\\b"}]}}const tn="[A-Za-z$_][0-9A-Za-z$_]*",di=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ui=["true","false","null","undefined","NaN","Infinity"],nn=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],rn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],on=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],fi=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],hi=[].concat(on,nn,rn);function pi(t){const e=t.regex,n=(C,{after:U})=>{const p="</"+C[0].slice(1);return C.input.indexOf(p,U)!==-1},r=tn,i={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(C,U)=>{const p=C[0].length+C.index,I=C.input[p];if(I==="<"||I===","){U.ignoreMatch();return}I===">"&&(n(C,{after:p})||U.ignoreMatch());let F;const W=C.input.substring(p);if(F=W.match(/^\s*=/)){U.ignoreMatch();return}if((F=W.match(/^\s+extends\s+/))&&F.index===0){U.ignoreMatch();return}}},a={$pattern:tn,keyword:di,literal:ui,built_in:hi,"variable.language":fi},l="[0-9](_?[0-9])*",d=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${u})((${d})|\\.)?|(${d}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,h]},y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},S=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,m,g,b,x,{match:/\$\d+/},f];h.contains=S.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(S)});const M=[].concat(y,h.contains),A=M.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(M)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:A},w={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,e.concat(r,"(",e.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},J={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...nn,...rn]}},B={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},$={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(C){return e.concat("(?!",C.join("|"),")")}const j={match:e.concat(/\b/,O([...on,"super","import"].map(C=>`${C}\\s*\\(`)),r,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},T={begin:e.concat(/\./,e.lookahead(e.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},N={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:J},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),B,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,m,g,b,x,y,{match:/\$\d+/},f,J,{scope:"attr",match:r+e.lookahead(":"),relevance:0},P,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[y,t.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,t.inherit(t.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},T,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},j,$,w,N,{match:/\$[(.]/}]}}const Ke="[A-Za-z$_][0-9A-Za-z$_]*",sn=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],an=["true","false","null","undefined","NaN","Infinity"],ln=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],cn=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],dn=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],un=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],fn=[].concat(dn,ln,cn);function mi(t){const e=t.regex,n=(C,{after:U})=>{const p="</"+C[0].slice(1);return C.input.indexOf(p,U)!==-1},r=Ke,i={begin:"<>",end:"</>"},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(C,U)=>{const p=C[0].length+C.index,I=C.input[p];if(I==="<"||I===","){U.ignoreMatch();return}I===">"&&(n(C,{after:p})||U.ignoreMatch());let F;const W=C.input.substring(p);if(F=W.match(/^\s*=/)){U.ignoreMatch();return}if((F=W.match(/^\s+extends\s+/))&&F.index===0){U.ignoreMatch();return}}},a={$pattern:Ke,keyword:sn,literal:an,built_in:fn,"variable.language":un},l="[0-9](_?[0-9])*",d=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${u})((${d})|\\.)?|(${d}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${d})\\b|\\.)?|(${d})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},h={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"xml"}},g={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,h],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,h]},y={className:"comment",variants:[t.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]},S=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,m,g,b,x,{match:/\$\d+/},f];h.contains=S.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(S)});const M=[].concat(y,h.contains),A=M.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(M)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:A},w={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,e.concat(r,"(",e.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},J={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...ln,...cn]}},B={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},R={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},$={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function O(C){return e.concat("(?!",C.join("|"),")")}const j={match:e.concat(/\b/,O([...dn,"super","import"].map(C=>`${C}\\s*\\(`)),r,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},T={begin:e.concat(/\./,e.lookahead(e.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},N={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},z="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",P={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(z)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:J},illegal:/#(?![$_A-z])/,contains:[t.SHEBANG({label:"shebang",binary:"node",relevance:5}),B,t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,m,g,b,x,y,{match:/\$\d+/},f,J,{scope:"attr",match:r+e.lookahead(":"),relevance:0},P,{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[y,t.REGEXP_MODE,{className:"function",begin:z,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},R,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+t.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,t.inherit(t.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},T,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},j,$,w,N,{match:/\$[(.]/}]}}function gi(t){const e=t.regex,n=mi(t),r=Ke,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],d={$pattern:Ke,keyword:sn.concat(l),literal:an,built_in:fn.concat(i),"variable.language":un},u={className:"meta",begin:"@"+r},f=(b,x,E)=>{const y=b.contains.findIndex(S=>S.label===x);if(y===-1)throw new Error("can not find mode to replace");b.contains.splice(y,1,E)};Object.assign(n.keywords,d),n.exports.PARAMS_CONTAINS.push(u);const h=n.contains.find(b=>b.scope==="attr"),m=Object.assign({},h,{match:e.concat(r,e.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,h,m]),n.contains=n.contains.concat([u,o,s,m]),f(n,"shebang",t.SHEBANG()),f(n,"use_strict",a);const g=n.contains.find(b=>b.label==="func.def");return g.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function bi(t){const e=t.regex,n=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=t.inherit(o,{begin:/\(/,end:/\)/}),a=t.inherit(t.APOS_STRING_MODE,{className:"string"}),l=t.inherit(t.QUOTE_STRING_MODE,{className:"string"}),d={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[o,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[o,s,l,a]}]}]},t.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[d],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[d],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(/</,e.lookahead(e.concat(n,e.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:d}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const Be=$t.createLowlight($t.all);Be.register("html",bi),Be.register("css",ci),Be.register("js",pi),Be.register("ts",gi);const hn=Fr.configure({lowlight:Be}),pn=$r,mn=Jr,gn=Vr,bn=qr;function wi({node:t,updateAttributes:e,editor:n}){const[r,i]=k.useState(t.attrs?.open??!0),[o,s]=k.useState(!1),[a,l]=k.useState(t.attrs?.title||"Accordion Title"),d=k.useRef(null),u=n?.isEditable??!1;k.useEffect(()=>{o&&d.current&&(d.current.focus(),d.current.select())},[o]);const f=()=>{s(!1),e({title:a,open:r})},h=b=>{b.key==="Enter"?f():b.key==="Escape"&&(l(t.attrs?.title||"Accordion Title"),s(!1))},m=()=>{const b=!r;i(b),e({title:a,open:b})},g=()=>{u&&n&&confirm("Are you sure you want to delete this accordion?")&&n.chain().focus().deleteNode("accordion").run()};return c.jsxs(Y.NodeViewWrapper,{className:"accordion border border-gray-200 rounded-lg mb-3 overflow-hidden",children:[c.jsx("div",{className:"accordion-header bg-gray-50 border-b border-gray-200",onClick:m,children:c.jsxs("div",{className:"flex items-center gap-2 px-1",children:[c.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),m()},className:"flex items-center justify-center w-6 h-6 text-gray-600 hover:text-gray-800",title:r?"Collapse":"Expand",children:c.jsx("span",{className:`cursor-pointer transition-transform duration-200 ${r?"rotate-90":""}`,children:"▶"})}),o?c.jsx("input",{ref:d,type:"text",value:a,onChange:b=>l(b.target.value),onBlur:f,onKeyDown:h,className:"bg-transparent border-b border-gray-300 outline-none font-medium text-gray-800 flex-1 py-1",placeholder:"Enter accordion title..."}):c.jsx("div",{onClick:u?b=>{b.stopPropagation(),s(!0)}:void 0,className:`font-medium text-gray-800 flex-1 py-1 ${u?"cursor-text hover:text-blue-600":"cursor-pointer"}`,title:u?"Click to edit title":void 0,children:a}),u&&c.jsx("button",{type:"button",onClick:b=>{b.stopPropagation(),g()},className:"px-2 py-1 text-red-600 hover:text-red-700 hover:bg-red-50 transition-colors rounded",title:"Delete accordion",children:c.jsx(_.Trash2,{className:"h-4 w-4"})})]})}),r&&c.jsx("div",{className:"accordion-content p-3 bg-white",children:c.jsx(Y.NodeViewContent,{})})]})}const wn=K.Node.create({name:"accordion",group:"block",content:"accordionItem+",defining:!0,addAttributes(){return{title:{default:"Accordion Title",parseHTML:t=>t.getAttribute("data-title"),renderHTML:t=>t.title?{"data-title":t.title}:{}},open:{default:!0,parseHTML:t=>t.getAttribute("data-open")==="true",renderHTML:t=>({"data-open":t.open})}}},parseHTML(){return[{tag:'div[data-type="accordion"]'}]},renderHTML({HTMLAttributes:t}){return["div",K.mergeAttributes(t,{"data-type":"accordion"}),0]},addNodeView(){return Y.ReactNodeViewRenderer(wi)},addCommands(){return{insertAccordion:()=>({commands:t})=>t.insertContent({type:this.name,content:[{type:"accordionItem",content:[{type:"paragraph",content:[{type:"text",text:"Accordion Item 1"}]}]}]})}}}),xn=K.Node.create({name:"accordionItem",group:"block",content:"block+",defining:!0,parseHTML(){return[{tag:'div[data-type="accordion-item"]'}]},renderHTML({HTMLAttributes:t}){return["div",K.mergeAttributes(t,{"data-type":"accordion-item"}),0]}});function xi({node:t,updateAttributes:e,editor:n}){const[r,i]=k.useState(t.attrs?.activeTab??0),[o,s]=k.useState(null),[a,l]=k.useState(""),d=k.useRef(null),u=t.content?.content||[],f=n?.isEditable??!1;k.useEffect(()=>{o!==null&&d.current&&(d.current.focus(),d.current.select())},[o]);const h=y=>{i(y),e({...t.attrs,activeTab:y})},m=(y,S)=>{f&&(s(y),l(S))},g=()=>{f&&n&&confirm("Are you sure you want to delete this tabs component?")&&n.chain().focus().deleteNode("tabs").run()},b=()=>{if(o!==null&&u[o]){const y=u[o];y.attrs&&(y.attrs.title=a),e({...t.attrs})}s(null),l("")},x=y=>{y.key==="Enter"?b():y.key==="Escape"&&(s(null),l(""))},E=y=>u[y]?.attrs?.title||`Tab ${y+1}`;return c.jsxs(Y.NodeViewWrapper,{className:"tabs-container border border-gray-200 rounded-lg mb-4 overflow-hidden","data-active-tab":r,children:[c.jsx("div",{className:"tabs-header bg-gray-50 border-b border-gray-200",children:c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsx("div",{className:"flex flex-1 overflow-x-auto",children:u.map((y,S)=>c.jsx("button",{type:"button",onClick:()=>h(S),className:`px-4 py-2 text-sm font-medium border-b-2 border-r border-gray-200 transition-colors relative lg:px-12 cursor-pointer ${r===S?"border-blue-500 border-r-gray-200 text-blue-600 bg-white":"border-transparent border-r-gray-200 text-gray-500 hover:text-gray-700 hover:border-gray-300"} ${S===u.length-1?"border-r-0":""}`,children:o===S?c.jsx("input",{ref:d,type:"text",value:a,onChange:M=>l(M.target.value),onBlur:b,onKeyDown:x,className:"bg-transparent border-none outline-none text-center min-w-16",onClick:M=>M.stopPropagation()}):c.jsx("span",{onClick:f?M=>{M.stopPropagation(),m(S,E(S))}:void 0,className:f?"cursor-text":"cursor-pointer",title:f?"Click to edit title":void 0,children:E(S)})},S))}),f&&c.jsx("button",{type:"button",onClick:g,className:"px-3 py-2 text-red-600 hover:text-red-700 hover:bg-red-50 transition-colors",title:"Delete tabs",children:c.jsx(_.Trash2,{className:"h-4 w-4"})})]})}),c.jsx("div",{className:"tabs-content",children:c.jsx(Y.NodeViewContent,{className:"tab-content-wrapper","data-active-tab":r})})]})}function yi({node:t}){const e=t.attrs?.tabIndex||0;return c.jsx(Y.NodeViewWrapper,{className:"tab-item-content p-4","data-tab-index":e,children:c.jsx(Y.NodeViewContent,{})})}const yn=K.Node.create({name:"tabs",group:"block",content:"tabItem+",defining:!0,addAttributes(){return{activeTab:{default:0,parseHTML:t=>parseInt(t.getAttribute("data-active-tab")||"0"),renderHTML:t=>({"data-active-tab":t.activeTab})},tabCount:{default:2,parseHTML:t=>parseInt(t.getAttribute("data-tab-count")||"2"),renderHTML:t=>({"data-tab-count":t.tabCount})}}},parseHTML(){return[{tag:'div[data-type="tabs"]'}]},renderHTML({HTMLAttributes:t}){return["div",K.mergeAttributes(t,{"data-type":"tabs"}),0]},addNodeView(){return Y.ReactNodeViewRenderer(xi)},addCommands(){return{insertTabs:(t={tabCount:2})=>({commands:e})=>{const n=Math.min(Math.max(t.tabCount||2,2),6),r=Array.from({length:n},(i,o)=>({type:"tabItem",attrs:{tabIndex:o,title:`Tab ${o+1}`},content:[{type:"paragraph",content:[{type:"text",text:`Content for Tab ${o+1}. This is unique content for this tab.`}]}]}));return e.insertContent({type:this.name,attrs:{activeTab:0,tabCount:n},content:r})}}}}),vn=K.Node.create({name:"tabItem",group:"block",content:"block+",defining:!0,addAttributes(){return{tabIndex:{default:0,parseHTML:t=>parseInt(t.getAttribute("data-tab-index")||"0"),renderHTML:t=>({"data-tab-index":t.tabIndex})},title:{default:"Tab",parseHTML:t=>t.getAttribute("data-title")||"Tab",renderHTML:t=>({"data-title":t.title})}}},parseHTML(){return[{tag:'div[data-type="tab-item"]'}]},renderHTML({HTMLAttributes:t}){return["div",K.mergeAttributes(t,{"data-type":"tab-item"}),0]},addNodeView(){return Y.ReactNodeViewRenderer(yi)}});function vi(...t){return Yr.twMerge(Gr.clsx(t))}const Ei=Kr.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function ee({className:t,variant:e,size:n,asChild:r=!1,...i}){const o=r?Wr.Slot:"button";return c.jsx(o,{"data-slot":"button",className:vi(Ei({variant:e,size:n,className:t})),...i})}const Si=({node:t,updateAttributes:e,deleteNode:n,editor:r})=>{const[i,o]=k.useState(!1),[s,a]=k.useState("simple"),[l,d]=k.useState(""),[u,f]=k.useState({src:t.attrs.src||"",width:t.attrs.width||"100%",height:t.attrs.height||"500px",title:t.attrs.title||"",allow:t.attrs.allow||"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",sandbox:t.attrs.sandbox||"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-presentation",style:t.attrs.style||""}),h=v=>{const w=v.toLowerCase();return w.includes("youtube.com")||w.includes("youtu.be")?"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-presentation allow-popups-to-escape-sandbox":w.includes("codesandbox.io")||w.includes("stackblitz.com")?"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-presentation allow-popups-to-escape-sandbox allow-top-navigation":"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-presentation"},m=v=>{const w=h(v);f({...u,src:v,sandbox:w})},g=()=>{x&&(e(u),o(!1))},b=()=>{f({src:t.attrs.src||"",width:t.attrs.width||"100%",height:t.attrs.height||"500px",title:t.attrs.title||"",allow:t.attrs.allow||"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",sandbox:t.attrs.sandbox||"allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-presentation",style:t.attrs.style||""}),o(!1)},[x,E]=k.useState(r?.isEditable??!1);k.useEffect(()=>{if(r){const v=()=>{E(r.isEditable)};return v(),r.on("update",v),r.on("selectionUpdate",v),()=>{r.off("update",v),r.off("selectionUpdate",v)}}},[r]);const y=()=>{x&&o(!0)},S=()=>{const v=`<iframe src="${u.src}" style="width:${u.width}; height: ${u.height}; ${u.style}" title="${u.title}" allow="${u.allow}" sandbox="${u.sandbox}"></iframe>`;navigator.clipboard.writeText(v)},M=v=>{const B=new DOMParser().parseFromString(v,"text/html").querySelector("iframe");if(B){const R=B.getAttribute("src")||"",$={src:R,width:B.getAttribute("width")||"100%",height:B.getAttribute("height")||"500px",title:B.getAttribute("title")||"",allow:B.getAttribute("allow")||"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",sandbox:B.getAttribute("sandbox")||h(R),style:B.getAttribute("style")||""};return f($),!0}return!1},A=()=>{M(l)?(a("simple"),d("")):alert("Invalid iframe HTML code. Please check your input.")};return i?c.jsx(Y.NodeViewWrapper,{className:"iframe-extension-editing",children:c.jsxs("div",{className:"border-2 border-blue-500 rounded-lg p-4 bg-blue-50",children:[c.jsxs("div",{className:"flex gap-2 mb-4",children:[c.jsx(ee,{onClick:()=>a("simple"),size:"sm",variant:s==="simple"?"default":"outline",className:"flex-1",children:"Simple Mode"}),c.jsx(ee,{onClick:()=>a("advanced"),size:"sm",variant:s==="advanced"?"default":"outline",className:"flex-1",children:"Advanced Mode"})]}),s==="simple"?c.jsxs("div",{className:"space-y-3",children:[c.jsxs("div",{children:[c.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Source URL"}),c.jsx("input",{type:"url",value:u.src,onChange:v=>m(v.target.value),className:"w-ful