@jinntec/jinntap 1.1.0 → 1.1.1

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.
@@ -13292,7 +13292,7 @@ class nh {
13292
13292
  addOptionToSelect(e, t, n, i, s) {
13293
13293
  const o = document.createElement("li"), l = document.createElement("a");
13294
13294
  l.innerHTML = s.label, l.appendChild(document.createTextNode(" " + i)), l.href = "#", o.appendChild(l), l.addEventListener("click", (a) => {
13295
- a.preventDefault(), this.handleNodeAction(t, n, s);
13295
+ a.preventDefault(), e.open = !1, this.handleNodeAction(t, n, s);
13296
13296
  }), this.editor.on("selectionUpdate", ({ editor: a }) => {
13297
13297
  this.updateButtonState(l, t, n, a);
13298
13298
  }), e.querySelector("ul").appendChild(o);
@@ -95,7 +95,7 @@ img.ProseMirror-separator {
95
95
  </button>
96
96
  </div>
97
97
  </h5>
98
- <ul></ul>`;const o=s.querySelector("ul");this.panel.appendChild(s);const l=[];for(const[c,u]of Object.entries(i))for(const d of u){const f=e.state.doc.resolve(d.pos);let h=f.node(),p=null;h.isText||e.state.doc.nodesBetween(d.pos,d.pos+d.length,(M,R)=>{if(M.isText)return p=M,!1});const m=p&&p.marks.find(M=>t.eq(M)),g=document.createElement("li"),y=document.createElement("label"),S=document.createElement("input");S.type="checkbox",S.checked=m,y.appendChild(S),l.push({checkbox:S,from:d.pos+d.index,to:d.pos+d.index+d.length,hasMark:m});const w=e.state.doc.textBetween(d.pos,f.end()),v=Jd(w,d.index,d.index+d.length),A=document.createElement("span");A.innerHTML=v,y.appendChild(A),g.appendChild(y),o.appendChild(g),y.addEventListener("mouseenter",M=>{M.preventDefault(),M.stopPropagation();const R=e.view.nodeDOM(d.pos);if(R){let I;if(R.nodeType===Node.TEXT_NODE){const T=document.createRange();T.setStart(R,d.index),T.setEnd(R,d.index+d.length),I=T.getBoundingClientRect()}else I=R.getBoundingClientRect();this.overlay.style.display="block",this.overlay.style.top=I.top-10+"px",this.overlay.style.left=I.left-10+"px",this.overlay.style.width=I.width+20+"px",this.overlay.style.height=I.height+20+"px",document.body.appendChild(this.overlay)}}),y.addEventListener("mouseleave",M=>{M.preventDefault(),M.stopPropagation(),this.overlay.style.display="none"}),S.addEventListener("change",M=>{M.preventDefault(),M.stopPropagation(),this.editor.chain().focus().setTextSelection({from:d.pos+d.index,to:d.pos+d.index+d.length}).toggleMark(t.type,t.attrs).run()})}s.querySelector(".apply-all").addEventListener("click",c=>{c.preventDefault(),c.stopPropagation();const u=l.filter(d=>!d.checkbox.checked);if(u.length>0){let d=this.editor.chain().focus();u.forEach(f=>{d=d.setTextSelection({from:f.from,to:f.to}).toggleMark(t.type,t.attrs),f.checkbox.checked=!0}),d.run()}})}}class Kd{constructor(e,t){this.editor=e.tiptap,this.attributePanel=t,this.panel=e.querySelector(".navigation-panel"),this.setupEventListeners()}setupEventListeners(){this.editor.on("selectionUpdate",({editor:e})=>{this.updatePanelForCurrentPosition(e)})}updatePanelForCurrentPosition(e){this.panel.innerHTML="";const{from:t,to:n}=e.state.selection,i=e.state.doc.nodeAt(t),s=[];let o;if(i){i.isText&&(o=No(e,t,n));let a=t,c=e.state.doc.resolve(a).depth;const u=e.state.doc.resolve(a);for(;c>0;){const d=u.node(c);if(d){const f={type:d.type.name,node:d,pos:{from:u.start(c),to:u.end(c)}};s.push(f)}c--}}let l=document.createElement("ul");s.reverse().forEach((a,c)=>{const u=document.createElement("li"),d=document.createElement("a");d.setAttribute("href","#"),d.textContent=a.type,d.addEventListener("click",f=>{f.preventDefault(),this.editor.chain().focus().setTextSelection(a.pos).run(),this.attributePanel.showNodeAttributes(a.node)}),u.appendChild(d),l.appendChild(u)}),o&&o.forEach(a=>{const c=document.createElement("li"),u=document.createElement("a");u.setAttribute("href","#"),u.textContent=a.mark.type.name,u.addEventListener("click",d=>{d.preventDefault(),this.editor.chain().focus().extendMarkRange(a.mark.type).run(),this.attributePanel.showMarkAttributes(a.mark,a.text)}),c.appendChild(u),l.appendChild(c)}),this.panel.appendChild(l)}}class Ud{constructor(e,t,n){this.editor=e.tiptap,this.toolbar=e.querySelector(".toolbar"),this.schemaDef=t,this.addButtons(t);const i=document.createElement("a");i.href="#",i.dataset.tooltip="Toggle debug mode",i.dataset.placement="bottom",i.className="outline toolbar-button",i.innerHTML='<i class="bi bi-question-circle"></i>',i.title="Toggle debug mode",i.addEventListener("click",o=>{o.preventDefault();const l=this.toolbar.closest("jinn-tap");l.hasAttribute("debug")?l.removeAttribute("debug"):l.setAttribute("debug","")});const s=document.createElement("li");s.appendChild(i),this.toolbar.appendChild(s),n&&Array.from(n.children).forEach(l=>{const a=document.createElement("li");a.appendChild(l.cloneNode(!0)),this.toolbar.appendChild(a)})}addButtons(e){const t=Object.entries(e.schema).sort(([,i],[,s])=>{const o=l=>l==="block"||l==="list"||l==="empty"?0:l==="inline"?1:2;return o(i.type)-o(s.type)}),n=new Map;t.forEach(([i,s])=>{s.toolbar&&Object.entries(s.toolbar).forEach(([o,l])=>{if(l.select){const a=l.select;let c=n.get(a);if(!c){c=this.createSelect(a),n.set(a,c);const u=document.createElement("li");u.appendChild(c),this.toolbar.appendChild(u)}this.addOptionToSelect(c,i,s,o,l)}else{const a=this.createButton(i,o,l);a.addEventListener("click",u=>{u.preventDefault(),this.handleNodeAction(i,s,l)});const c=document.createElement("li");c.appendChild(a),this.toolbar.appendChild(c)}})})}handleNodeAction(e,t,n){n.command?this.editor.chain().focus()[n.command](e,n.attributes).run():t.type==="inline"?this.editor.chain().focus().toggleMark(e,n.attributes).run():t.type==="list"?this.editor.chain().focus().toggleList(n.attributes).run():t.type==="anchor"?this.editor.chain().focus().addAnchor(n.attributes).run():t.type==="empty"?this.editor.chain().focus().insertContent({type:e,attrs:n.attributes}).run():this.editor.chain().focus().setNode(e,n.attributes).run()}createButton(e,t,n){const i=document.createElement("a");return i.href="#",i.className="outline toolbar-button",n.label&&(i.innerHTML=n.label),i.dataset.tooltip=t,i.dataset.placement="bottom",i.addEventListener("mousedown",s=>{s.preventDefault()}),this.editor.on("selectionUpdate",({editor:s})=>{this.updateButtonState(i,e,n,s)}),i}updateButtonState(e,t,n,i){const s=this.schemaDef[t];if(!s)return;let o=!0;n.command?o=i.can()[n.command](t,n.attributes):s.type==="inline"?o=i.can().toggleMark(t,n.attributes):s.type==="block"?o=i.can().setNode(t,n.attributes):s.type==="list"?o=i.can().toggleList(t,n.attributes):(s.type==="empty"||s.type==="anchor")&&(o=i.can().insertContent({type:t,attrs:n.attributes})),e.disabled=!o,o?e.classList.remove("disabled"):e.classList.add("disabled"),e.classList.toggle("active",i.isActive(t))}createSelect(e){const t=document.createElement("details");t.className="dropdown";const n=document.createElement("summary");n.textContent=e,t.appendChild(n);const i=document.createElement("ul");return t.appendChild(i),t}addOptionToSelect(e,t,n,i,s){const o=document.createElement("li"),l=document.createElement("a");l.innerHTML=s.label,l.appendChild(document.createTextNode(" "+i)),l.href="#",o.appendChild(l),l.addEventListener("click",a=>{a.preventDefault(),this.handleNodeAction(t,n,s)}),this.editor.on("selectionUpdate",({editor:a})=>{this.updateButtonState(l,t,n,a)}),e.querySelector("ul").appendChild(o)}}function _d(r){const e="#E48500",t={},n=[],i=u=>{let d=parseInt(u.substring(1,3),16)/255,f=parseInt(u.substring(3,5),16)/255,h=parseInt(u.substring(5,7),16)/255,p=Math.max(d,f,h),m=Math.min(d,f,h),g,y,S=(p+m)/2;if(p===m)g=y=0;else{let w=p-m;switch(y=S>.5?w/(2-p-m):w/(p+m),p){case d:g=(f-h)/w+(f<h?6:0);break;case f:g=(h-d)/w+2;break;case h:g=(d-f)/w+4;break}g/=6}return[g*360,y*100,S*100]},s=(u,d,f)=>{f/=100;const h=d*Math.min(f,1-f)/100,p=m=>{const g=(m+u/30)%12,y=f-h*Math.max(Math.min(g-3,9-g,1),-1);return Math.round(255*y).toString(16).padStart(2,"0")};return`#${p(0)}${p(8)}${p(4)}`},[o,l,a]=i(e);for(let u=0;u<5;u++){const d=(o+u*40)%360,f=s(d,l,a);t[`--tei-div-color-${u}`]=f}let c=5;return Object.entries(r.schema).forEach(([u,d])=>{const f=(o+c*60)%360,h=s(f,l,a);t[`--tei-${u}-color`]=`${h}`,(d.type==="inline"||d.type==="empty")&&n.push(`
98
+ <ul></ul>`;const o=s.querySelector("ul");this.panel.appendChild(s);const l=[];for(const[c,u]of Object.entries(i))for(const d of u){const f=e.state.doc.resolve(d.pos);let h=f.node(),p=null;h.isText||e.state.doc.nodesBetween(d.pos,d.pos+d.length,(M,R)=>{if(M.isText)return p=M,!1});const m=p&&p.marks.find(M=>t.eq(M)),g=document.createElement("li"),y=document.createElement("label"),S=document.createElement("input");S.type="checkbox",S.checked=m,y.appendChild(S),l.push({checkbox:S,from:d.pos+d.index,to:d.pos+d.index+d.length,hasMark:m});const w=e.state.doc.textBetween(d.pos,f.end()),v=Jd(w,d.index,d.index+d.length),A=document.createElement("span");A.innerHTML=v,y.appendChild(A),g.appendChild(y),o.appendChild(g),y.addEventListener("mouseenter",M=>{M.preventDefault(),M.stopPropagation();const R=e.view.nodeDOM(d.pos);if(R){let I;if(R.nodeType===Node.TEXT_NODE){const T=document.createRange();T.setStart(R,d.index),T.setEnd(R,d.index+d.length),I=T.getBoundingClientRect()}else I=R.getBoundingClientRect();this.overlay.style.display="block",this.overlay.style.top=I.top-10+"px",this.overlay.style.left=I.left-10+"px",this.overlay.style.width=I.width+20+"px",this.overlay.style.height=I.height+20+"px",document.body.appendChild(this.overlay)}}),y.addEventListener("mouseleave",M=>{M.preventDefault(),M.stopPropagation(),this.overlay.style.display="none"}),S.addEventListener("change",M=>{M.preventDefault(),M.stopPropagation(),this.editor.chain().focus().setTextSelection({from:d.pos+d.index,to:d.pos+d.index+d.length}).toggleMark(t.type,t.attrs).run()})}s.querySelector(".apply-all").addEventListener("click",c=>{c.preventDefault(),c.stopPropagation();const u=l.filter(d=>!d.checkbox.checked);if(u.length>0){let d=this.editor.chain().focus();u.forEach(f=>{d=d.setTextSelection({from:f.from,to:f.to}).toggleMark(t.type,t.attrs),f.checkbox.checked=!0}),d.run()}})}}class Kd{constructor(e,t){this.editor=e.tiptap,this.attributePanel=t,this.panel=e.querySelector(".navigation-panel"),this.setupEventListeners()}setupEventListeners(){this.editor.on("selectionUpdate",({editor:e})=>{this.updatePanelForCurrentPosition(e)})}updatePanelForCurrentPosition(e){this.panel.innerHTML="";const{from:t,to:n}=e.state.selection,i=e.state.doc.nodeAt(t),s=[];let o;if(i){i.isText&&(o=No(e,t,n));let a=t,c=e.state.doc.resolve(a).depth;const u=e.state.doc.resolve(a);for(;c>0;){const d=u.node(c);if(d){const f={type:d.type.name,node:d,pos:{from:u.start(c),to:u.end(c)}};s.push(f)}c--}}let l=document.createElement("ul");s.reverse().forEach((a,c)=>{const u=document.createElement("li"),d=document.createElement("a");d.setAttribute("href","#"),d.textContent=a.type,d.addEventListener("click",f=>{f.preventDefault(),this.editor.chain().focus().setTextSelection(a.pos).run(),this.attributePanel.showNodeAttributes(a.node)}),u.appendChild(d),l.appendChild(u)}),o&&o.forEach(a=>{const c=document.createElement("li"),u=document.createElement("a");u.setAttribute("href","#"),u.textContent=a.mark.type.name,u.addEventListener("click",d=>{d.preventDefault(),this.editor.chain().focus().extendMarkRange(a.mark.type).run(),this.attributePanel.showMarkAttributes(a.mark,a.text)}),c.appendChild(u),l.appendChild(c)}),this.panel.appendChild(l)}}class Ud{constructor(e,t,n){this.editor=e.tiptap,this.toolbar=e.querySelector(".toolbar"),this.schemaDef=t,this.addButtons(t);const i=document.createElement("a");i.href="#",i.dataset.tooltip="Toggle debug mode",i.dataset.placement="bottom",i.className="outline toolbar-button",i.innerHTML='<i class="bi bi-question-circle"></i>',i.title="Toggle debug mode",i.addEventListener("click",o=>{o.preventDefault();const l=this.toolbar.closest("jinn-tap");l.hasAttribute("debug")?l.removeAttribute("debug"):l.setAttribute("debug","")});const s=document.createElement("li");s.appendChild(i),this.toolbar.appendChild(s),n&&Array.from(n.children).forEach(l=>{const a=document.createElement("li");a.appendChild(l.cloneNode(!0)),this.toolbar.appendChild(a)})}addButtons(e){const t=Object.entries(e.schema).sort(([,i],[,s])=>{const o=l=>l==="block"||l==="list"||l==="empty"?0:l==="inline"?1:2;return o(i.type)-o(s.type)}),n=new Map;t.forEach(([i,s])=>{s.toolbar&&Object.entries(s.toolbar).forEach(([o,l])=>{if(l.select){const a=l.select;let c=n.get(a);if(!c){c=this.createSelect(a),n.set(a,c);const u=document.createElement("li");u.appendChild(c),this.toolbar.appendChild(u)}this.addOptionToSelect(c,i,s,o,l)}else{const a=this.createButton(i,o,l);a.addEventListener("click",u=>{u.preventDefault(),this.handleNodeAction(i,s,l)});const c=document.createElement("li");c.appendChild(a),this.toolbar.appendChild(c)}})})}handleNodeAction(e,t,n){n.command?this.editor.chain().focus()[n.command](e,n.attributes).run():t.type==="inline"?this.editor.chain().focus().toggleMark(e,n.attributes).run():t.type==="list"?this.editor.chain().focus().toggleList(n.attributes).run():t.type==="anchor"?this.editor.chain().focus().addAnchor(n.attributes).run():t.type==="empty"?this.editor.chain().focus().insertContent({type:e,attrs:n.attributes}).run():this.editor.chain().focus().setNode(e,n.attributes).run()}createButton(e,t,n){const i=document.createElement("a");return i.href="#",i.className="outline toolbar-button",n.label&&(i.innerHTML=n.label),i.dataset.tooltip=t,i.dataset.placement="bottom",i.addEventListener("mousedown",s=>{s.preventDefault()}),this.editor.on("selectionUpdate",({editor:s})=>{this.updateButtonState(i,e,n,s)}),i}updateButtonState(e,t,n,i){const s=this.schemaDef[t];if(!s)return;let o=!0;n.command?o=i.can()[n.command](t,n.attributes):s.type==="inline"?o=i.can().toggleMark(t,n.attributes):s.type==="block"?o=i.can().setNode(t,n.attributes):s.type==="list"?o=i.can().toggleList(t,n.attributes):(s.type==="empty"||s.type==="anchor")&&(o=i.can().insertContent({type:t,attrs:n.attributes})),e.disabled=!o,o?e.classList.remove("disabled"):e.classList.add("disabled"),e.classList.toggle("active",i.isActive(t))}createSelect(e){const t=document.createElement("details");t.className="dropdown";const n=document.createElement("summary");n.textContent=e,t.appendChild(n);const i=document.createElement("ul");return t.appendChild(i),t}addOptionToSelect(e,t,n,i,s){const o=document.createElement("li"),l=document.createElement("a");l.innerHTML=s.label,l.appendChild(document.createTextNode(" "+i)),l.href="#",o.appendChild(l),l.addEventListener("click",a=>{a.preventDefault(),e.open=!1,this.handleNodeAction(t,n,s)}),this.editor.on("selectionUpdate",({editor:a})=>{this.updateButtonState(l,t,n,a)}),e.querySelector("ul").appendChild(o)}}function _d(r){const e="#E48500",t={},n=[],i=u=>{let d=parseInt(u.substring(1,3),16)/255,f=parseInt(u.substring(3,5),16)/255,h=parseInt(u.substring(5,7),16)/255,p=Math.max(d,f,h),m=Math.min(d,f,h),g,y,S=(p+m)/2;if(p===m)g=y=0;else{let w=p-m;switch(y=S>.5?w/(2-p-m):w/(p+m),p){case d:g=(f-h)/w+(f<h?6:0);break;case f:g=(h-d)/w+2;break;case h:g=(d-f)/w+4;break}g/=6}return[g*360,y*100,S*100]},s=(u,d,f)=>{f/=100;const h=d*Math.min(f,1-f)/100,p=m=>{const g=(m+u/30)%12,y=f-h*Math.max(Math.min(g-3,9-g,1),-1);return Math.round(255*y).toString(16).padStart(2,"0")};return`#${p(0)}${p(8)}${p(4)}`},[o,l,a]=i(e);for(let u=0;u<5;u++){const d=(o+u*40)%360,f=s(d,l,a);t[`--tei-div-color-${u}`]=f}let c=5;return Object.entries(r.schema).forEach(([u,d])=>{const f=(o+c*60)%360,h=s(f,l,a);t[`--tei-${u}-color`]=`${h}`,(d.type==="inline"||d.type==="empty")&&n.push(`
99
99
  .debug tei-${u}::after {
100
100
  background-color: var(--tei-${u}-color);
101
101
  content: "${u}";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jinntec/jinntap",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "main": "./dist/jinn-tap.umd.js",
6
6
  "module": "./dist/jinn-tap.es.js",