UNPKG

tiptap-extension-iframely

Version:
2 lines (1 loc) 1.37 kB
"use strict";var i=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var p=(r,e)=>{for(var t in e)i(r,t,{get:e[t],enumerable:!0})},u=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of f(e))!c.call(r,a)&&a!==t&&i(r,a,{get:()=>e[a],enumerable:!(s=l(e,a))||s.enumerable});return r};var y=r=>u(i({},"__esModule",{value:!0}),r);var b={};p(b,{Iframely:()=>w});module.exports=y(b);var n=require("@tiptap/core"),d=require("@tiptap/react"),o=require("react"),m=require("react/jsx-runtime"),w=n.Node.create({addAttributes(){return{src:{default:null}}},addCommands(){return{setIframelyEmbed:r=>({commands:e})=>e.insertContent({attrs:r,type:this.name})}},addNodeView(){return(0,d.ReactNodeViewRenderer)(({node:r})=>{let e=(0,o.useRef)(null),t=(0,o.useRef)(!1);return(0,o.useEffect)(()=>{t.current||!e.current||window.iframely!==void 0&&(window.iframely.load(e.current,r.attrs.src),t.current=!0)},[r.attrs.src]),(0,m.jsx)(d.NodeViewWrapper,{children:(0,m.jsx)("div",{ref:e,className:"not-prose my-8 overflow-hidden shadow-sm"})})})},atom:!0,draggable:!0,group:"block",name:"iframely",parseHTML(){return[{tag:'div[data-type="iframely-embed"]'}]},renderHTML({HTMLAttributes:r}){return["div",(0,n.mergeAttributes)(r,{"data-type":"iframely-embed"})]}});0&&(module.exports={Iframely});