@jackuait/blok 0.24.0 → 0.24.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.
@@ -1,11 +1,11 @@
1
1
  import { i as e, t } from "./chunk-5O_1xk2F.mjs";
2
- import { $ as n, $n as r, $t as i, A as a, An as o, At as s, B as c, Bn as l, Bt as u, C as d, Cn as f, D as p, Dn as m, E as h, En as g, F as _, Fn as v, Ft as y, G as b, Gn as x, Gt as S, H as C, Ht as w, I as T, In as E, It as D, J as O, Jt as k, K as A, Kt as j, L as ee, Ln as M, Lr as N, Lt as P, M as F, Mn as te, Mt as ne, N as re, Nn as I, Nt as L, O as ie, P as ae, Pn as oe, Pt as se, Q as ce, Qn as le, Qt as ue, R as de, Rt as fe, S as R, Sn as pe, T as me, Tn as he, U as ge, Un as _e, Ut as ve, V as ye, Vn as be, Vt as xe, W as z, Wn as Se, Wr as Ce, Wt as we, X as Te, Xn as Ee, Xt as De, Y as B, Yn as Oe, Yt as ke, Z as Ae, Zt as je, _ as Me, _n as Ne, _t as Pe, a as Fe, an as Ie, ar as Le, at as Re, bi as ze, bn as Be, br as Ve, c as He, cn as Ue, ct as We, d as Ge, dn as Ke, dr as qe, dt as Je, en as Ye, er as Xe, et as Ze, f as Qe, fn as V, fr as $e, ft as et, g as tt, gn as nt, gr as rt, gt as it, h as at, hn as ot, hr as H, ht as st, i as ct, in as lt, it as ut, j as dt, jn as ft, jt as pt, k as mt, kn as ht, l as gt, ln as _t, lr as vt, lt as U, mn as yt, mt as bt, n as xt, nn as St, nr as Ct, nt as wt, o as Tt, on as Et, ot as W, p as Dt, pi as Ot, pn as kt, pt as At, q as jt, qn as Mt, qr as Nt, qt as Pt, r as Ft, rn as It, rt as Lt, s as Rt, sn as zt, st as G, t as Bt, tn as Vt, tr as Ht, u as K, un as Ut, ur as q, ut as Wt, v as Gt, vn as Kt, vt as qt, w as Jt, wn as Yt, x as Xt, xn as Zt, xt as Qt, yi as J, yn as $t, yr as en, yt as tn, z as nn, zt as rn } from "./constants-Cn64UAto.mjs";
2
+ import { $ as n, $n as r, $t as i, A as a, An as o, At as s, B as c, Bn as l, Bt as u, C as d, Cn as f, D as p, Dn as m, E as h, En as g, F as _, Fn as v, Ft as y, G as b, Gn as x, Gt as S, H as C, Ht as w, I as T, In as E, It as D, J as O, Jt as k, K as A, Kt as j, L as ee, Ln as M, Lr as N, Lt as P, M as F, Mn as te, Mt as ne, N as re, Nn as I, Nt as L, O as ie, P as ae, Pn as oe, Pt as se, Q as ce, Qn as le, Qt as ue, R as de, Rt as fe, S as R, Sn as pe, T as me, Tn as he, U as ge, Un as _e, Ut as ve, V as ye, Vn as be, Vt as xe, W as z, Wn as Se, Wr as Ce, Wt as we, X as Te, Xn as Ee, Xt as De, Y as B, Yn as Oe, Yt as ke, Z as Ae, Zt as je, _ as Me, _n as Ne, _t as Pe, a as Fe, an as Ie, ar as Le, at as Re, bi as ze, bn as Be, br as Ve, c as He, cn as Ue, ct as We, d as Ge, dn as Ke, dr as qe, dt as Je, en as Ye, er as Xe, et as Ze, f as Qe, fn as V, fr as $e, ft as et, g as tt, gn as nt, gr as rt, gt as it, h as at, hn as ot, hr as H, ht as st, i as ct, in as lt, it as ut, j as dt, jn as ft, jt as pt, k as mt, kn as ht, l as gt, ln as _t, lr as vt, lt as U, mn as yt, mt as bt, n as xt, nn as St, nr as Ct, nt as wt, o as Tt, on as Et, ot as W, p as Dt, pi as Ot, pn as kt, pt as At, q as jt, qn as Mt, qr as Nt, qt as Pt, r as Ft, rn as It, rt as Lt, s as Rt, sn as zt, st as G, t as Bt, tn as Vt, tr as Ht, u as K, un as Ut, ur as q, ut as Wt, v as Gt, vn as Kt, vt as qt, w as Jt, wn as Yt, x as Xt, xn as Zt, xt as Qt, yi as J, yn as $t, yr as en, yt as tn, z as nn, zt as rn } from "./constants-DQ8_rwVH.mjs";
3
3
  import { t as Y } from "./objectSpread2-jlBcdYeb.mjs";
4
4
  import { a as an, i as on, l as X, n as sn, s as cn } from "./dismissable-layer-BB2U55yL.mjs";
5
5
  import { a as ln, i as un, n as dn, o as fn, r as pn, s as mn, t as hn } from "./registry-2kYxExCw.mjs";
6
6
  import { n as gn } from "./lightweight-i18n-B0y7hkVm.mjs";
7
7
  import { $ as _n, $t as vn, A as yn, B as bn, Bt as xn, Cn as Sn, Ct as Cn, D as wn, Dt as Tn, E as En, F as Dn, G as On, Gt as kn, H as An, Ht as jn, I as Mn, J as Nn, Jt as Pn, K as Fn, Kt as In, L as Ln, Lt as Rn, M as zn, Mt as Bn, N as Vn, O as Hn, P as Un, Q as Wn, Qt as Gn, R as Kn, Rt as qn, S as Jn, St as Yn, T as Xn, Tn as Zn, Tt as Qn, U as $n, Ut as er, V as tr, Vt as nr, W as rr, Wt as ir, Xt as ar, Y as or, Yt as sr, Z as cr, Zt as lr, _ as ur, _n as dr, _t as fr, a as pr, an as mr, at as hr, b as gr, bn as _r, bt as vr, cn as yr, ct as br, d as xr, dn as Sr, dt as Cr, en as wr, et as Tr, f as Er, fn as Dr, ft as Or, g as kr, gn as Ar, gt as jr, h as Mr, hn as Nr, ht as Pr, i as Fr, in as Ir, it as Lr, j as Rr, jt as zr, k as Br, kt as Vr, l as Hr, ln as Ur, lt as Wr, m as Gr, mn as Kr, mt as qr, n as Jr, nn as Yr, nt as Xr, o as Zr, on as Qr, ot as $r, pn as ei, pt as ti, q as ni, qt as ri, r as ii, rn as ai, rt as oi, s as si, sn as ci, t as li, tn as ui, tt as di, u as fi, un as pi, ut as mi, vn as hi, vt as gi, w as _i, wn as vi, wt as yi, x as bi, xn as xi, xt as Si, y as Ci, yn as wi, yt as Ti, z as Ei, zt as Di } from "./icons-0u_2Kxm0.mjs";
8
- import { t as Oi } from "./nested-blocks-Bsq8ONEf.mjs";
8
+ import { t as Oi } from "./nested-blocks-Bf6k4Hqi.mjs";
9
9
  import { n as ki, t as Ai } from "./modal-dialog-CqaFIp8Q.mjs";
10
10
  import { n as ji, r as Mi, t as Ni } from "./lib-qvf5JfwV.mjs";
11
11
  //#region src/components/shared/inline-content-sanitize.ts
package/dist/full.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunks/blok-Cy-JlWM3.cjs`),t=require(`./chunks/constants-BJXlAaDV.cjs`),n=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),r=require(`./chunks/tools-C5uIeqcv.cjs`);var i={paragraph:{class:r.A,inlineToolbar:!0,config:{preserveBlank:!0}},header:{class:r.k,inlineToolbar:!0},list:{class:r.O,inlineToolbar:!0}},a=n.t(n.t({},i),{},{quote:{class:r.x,inlineToolbar:!0},callout:{class:r.T,inlineToolbar:!0},code:{class:r.b,inlineToolbar:!1},toggle:{class:r.E,inlineToolbar:!0},bold:{class:r.u},italic:{class:r.l},marker:{class:r.s},underline:{class:r.o},strikethrough:{class:r.a},inlineCode:{class:r.i},equation:{class:r.r},link:{class:r.c}});exports.Blok=e.t,exports.Bold=r.u,exports.DATA_ATTR=t.yi,exports.Equation=r.r,exports.Header=r.k,exports.InlineCode=r.i,exports.Italic=r.l,exports.Link=r.c,exports.List=r.O,exports.Marker=r.s,exports.Paragraph=r.A,exports.Strikethrough=r.a,exports.Toggle=r.E,exports.Underline=r.o,exports.allTools=a,exports.defaultBlockTools=r.t,exports.defaultInlineTools=r.n,exports.defaultTools=i,exports.version=e.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunks/blok-DKHOQdVb.cjs`),t=require(`./chunks/constants-wdDLQLHe.cjs`),n=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),r=require(`./chunks/tools-3heNz_5W.cjs`);var i={paragraph:{class:r.A,inlineToolbar:!0,config:{preserveBlank:!0}},header:{class:r.k,inlineToolbar:!0},list:{class:r.O,inlineToolbar:!0}},a=n.t(n.t({},i),{},{quote:{class:r.x,inlineToolbar:!0},callout:{class:r.T,inlineToolbar:!0},code:{class:r.b,inlineToolbar:!1},toggle:{class:r.E,inlineToolbar:!0},bold:{class:r.u},italic:{class:r.l},marker:{class:r.s},underline:{class:r.o},strikethrough:{class:r.a},inlineCode:{class:r.i},equation:{class:r.r},link:{class:r.c}});exports.Blok=e.t,exports.Bold=r.u,exports.DATA_ATTR=t.yi,exports.Equation=r.r,exports.Header=r.k,exports.InlineCode=r.i,exports.Italic=r.l,exports.Link=r.c,exports.List=r.O,exports.Marker=r.s,exports.Paragraph=r.A,exports.Strikethrough=r.a,exports.Toggle=r.E,exports.Underline=r.o,exports.allTools=a,exports.defaultBlockTools=r.t,exports.defaultInlineTools=r.n,exports.defaultTools=i,exports.version=e.n;
package/dist/full.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { n as e, t } from "./chunks/blok-BJWQ-q2z.mjs";
2
- import { yi as n } from "./chunks/constants-Cn64UAto.mjs";
1
+ import { n as e, t } from "./chunks/blok-ClyUPnd_.mjs";
2
+ import { yi as n } from "./chunks/constants-DQ8_rwVH.mjs";
3
3
  import { t as r } from "./chunks/objectSpread2-jlBcdYeb.mjs";
4
- import { A as i, E as a, O as o, T as s, a as c, b as l, c as u, i as d, k as f, l as p, n as m, o as h, r as g, s as _, t as v, u as y, x as b } from "./chunks/tools-CESBJKzE.mjs";
4
+ import { A as i, E as a, O as o, T as s, a as c, b as l, c as u, i as d, k as f, l as p, n as m, o as h, r as g, s as _, t as v, u as y, x as b } from "./chunks/tools-DrDXTtxA.mjs";
5
5
  //#region src/full.ts
6
6
  var x = {
7
7
  paragraph: {
package/dist/react.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunks/chunk-BL1yB9zm.cjs`);const e=require(`./chunks/blok-Cy-JlWM3.cjs`),t=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),n=require(`./chunks/blocks-api-5O6qDUgW.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=new WeakMap;function o(e,t){a.set(e,t)}function s(e){return a.get(e)}function c(e){a.delete(e)}var l=(0,r.createContext)({});function u({defaults:e,children:t}){return(0,i.jsx)(l.Provider,{value:e,children:t})}function d(){return(0,r.useContext)(l)}function f(e,n){if(Object.keys(e).length===0)return n;let r=t.t({},e);for(let e of Object.keys(n)){let t=n[e];t!==void 0&&(r[e]=t)}return(e.tools!==void 0||n.tools!==void 0)&&(r.tools=t.t(t.t({},e.tools),n.tools)),r}function p(i,a){let s=f((0,r.useContext)(l),i),[u,d]=(0,r.useState)(null),p=(0,r.useRef)(s);p.current=s;let h=(0,r.useRef)({editor:null,holder:null,destroyTimeout:null,isDestroyed:!1,depsToken:null}),g=(0,r.useMemo)(()=>({}),a==null?[]:a),_=(0,r.useRef)(s.data),v=(0,r.useRef)(null),y=(0,r.useRef)(s.data),b=(0,r.useRef)(Promise.resolve()),x=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{if(typeof window>`u`)return;let n=h.current;if(n.destroyTimeout!==null&&(clearTimeout(n.destroyTimeout),n.destroyTimeout=null),n.editor!==null&&!n.isDestroyed&&n.depsToken===g)return d(n.editor),()=>{m(n,d)};if(n.editor!==null&&!n.isDestroyed){c(n.editor);try{n.editor.destroy()}catch(e){}n.editor=null,n.holder=null,n.isDestroyed=!0,d(null)}let r=document.createElement(`div`);n.holder=r,n.isDestroyed=!1,n.depsToken=g;let i=p.current,a=t.t(t.t({},i),{},{holder:r,onReady:(...e)=>{var t,n;(t=(n=p.current).onReady)==null||t.call(n,...e)},onChange:(...e)=>{var t,n;(t=(n=p.current).onChange)==null||t.call(n,...e)}});i.onSave&&(a.onSave=(...e)=>{var t,n;_.current=e[0],(t=(n=p.current).onSave)==null||t.call(n,...e)}),i.onBeforeRender&&(a.onBeforeRender=(...e)=>{var t,n,r;return(t=(n=(r=p.current).onBeforeRender)==null?void 0:n.call(r,...e))==null?e[0]:t}),i.onAfterRender&&(a.onAfterRender=(...e)=>{var t,n;(t=(n=p.current).onAfterRender)==null||t.call(n,...e)});let s=new e.t(a);return n.editor=s,y.current=i.data,o(s,r),s.isReady.then(()=>{n.editor===s&&!n.isDestroyed&&d(s)}).catch(()=>{if(n.editor===s&&!n.isDestroyed){c(s);try{s.destroy()}catch(e){}n.editor=null,n.holder=null,n.isDestroyed=!0,d(null)}}),()=>{m(n,d)}},[g]);let{readOnly:S}=s;(0,r.useEffect)(()=>{u!==null&&u.readOnly.set(S==null?!1:S)},[u,S]);let{autofocus:C}=s;(0,r.useEffect)(()=>{u===null||!C||u.focus()},[u,C]);let{theme:w}=s;(0,r.useEffect)(()=>{u===null||w===void 0||u.theme.set(w)},[u,w]);let{width:T}=s;(0,r.useEffect)(()=>{u===null||T===void 0||u.width.set(T)},[u,T]);let{placeholder:E}=s;(0,r.useEffect)(()=>{u===null||E===void 0||u.placeholder.set(E)},[u,E]);let{data:D}=s;return(0,r.useEffect)(()=>{if(u===null||D===void 0)return;let e=h.current;if(!(e.editor!==u||e.isDestroyed)){if(v.current!==u&&(v.current=u,x.current=void 0,n.r(D,y.current))){_.current=D;return}n.r(D,_.current)||n.r(D,x.current)||(x.current=D,b.current=b.current.catch(()=>void 0).then(()=>u.render(D)).then(()=>{_.current=D},()=>{}).then(()=>{x.current===D&&(x.current=void 0)}))}},[u,D]),u}function m(e,t){e.destroyTimeout=setTimeout(()=>{if(e.editor!==null){c(e.editor);try{e.editor.destroy()}catch(e){}e.editor=null,e.holder=null,e.isDestroyed=!0,e.destroyTimeout=null,t(null)}},0)}var h=[`editor`],g=(0,r.forwardRef)(function(n,a){let{editor:o}=n,c=e.i(n,h),l=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(o===null||l.current===null)return;let e=s(o);if(e!==void 0)return l.current.appendChild(e),()=>{e.remove()}},[o]),(0,i.jsx)(`div`,t.t({ref:e=>{if(l.current=e,typeof a==`function`)a(e);else if(a!=null){let t=a;t.current=e}}},c))}),_=`autofocus.defaultBlock.dataModel.placeholder.sanitizer.hideToolbar.maxHistoryLength.historyDebounceTime.newGroupDelay.globalUndoRedo.tools.data.minHeight.logLevel.readOnly.i18n.link.linkPaste.onBeforePaste.onReady.onChange.onSave.onBeforeRender.onAfterRender.inlineToolbar.tunes.style.theme.onThemeChange.scrollToBlock.user.resolveUser.notifierPosition.notifier.width`.split(`.`),v=[`deps`,`onReady`,`onBlocksRendered`,`onBlockRendered`],y=new Set(_),b=(0,r.forwardRef)(function(n,a){let{deps:o,onReady:s,onBlocksRendered:c,onBlockRendered:l}=n,u=e.i(n,v),d={},f={};for(let e of Object.keys(u)){let t=u[e];y.has(e)?d[e]=t:f[e]=t}let m=p(d,o);(0,r.useImperativeHandle)(a,()=>m,[m]);let h=(0,r.useRef)(s);h.current=s,(0,r.useEffect)(()=>{if(m!==null){var e;(e=h.current)==null||e.call(h,m)}},[m]);let _=(0,r.useRef)(c);_.current=c;let b=(0,r.useRef)(l);b.current=l;let x=!!c,S=!!l;return(0,r.useEffect)(()=>{if(m===null)return;let e=[];if(x){let t=e=>{var t;return(t=_.current)==null?void 0:t.call(_,e)};m.on(`blocks:rendered`,t),e.push([`blocks:rendered`,t])}if(S){let t=e=>{var t;return(t=b.current)==null?void 0:t.call(b,e)};m.on(`block:rendered`,t),e.push([`block:rendered`,t])}return()=>{for(let[t,n]of e)m.off(t,n)}},[m,x,S]),(0,i.jsx)(g,t.t({editor:m},f))}),x=`block changed`;function S(e){let t=(0,r.useRef)(0),i=(0,r.useRef)(e);i.current!==e&&(i.current=e,t.current=0);let a=(0,r.useCallback)(n=>{if(e===null)return()=>void 0;let r=()=>{t.current+=1,n()};return e.on(x,r),()=>e.off(x,r)},[e]),o=(0,r.useCallback)(()=>t.current,[]);return(0,r.useSyncExternalStore)(a,o,o),(0,r.useMemo)(()=>e===null?n.t:n.n(e),[e])}exports.BlokContent=g,exports.BlokEditor=b,exports.BlokProvider=u,exports.useBlocks=S,exports.useBlok=p,exports.useBlokDefaults=d;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunks/chunk-BL1yB9zm.cjs`);const e=require(`./chunks/blok-DKHOQdVb.cjs`),t=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),n=require(`./chunks/blocks-api-4oI34PVj.cjs`);let r=require(`react`),i=require(`react/jsx-runtime`);var a=new WeakMap;function o(e,t){a.set(e,t)}function s(e){return a.get(e)}function c(e){a.delete(e)}var l=(0,r.createContext)({});function u({defaults:e,children:t}){return(0,i.jsx)(l.Provider,{value:e,children:t})}function d(){return(0,r.useContext)(l)}function f(e,n){if(Object.keys(e).length===0)return n;let r=t.t({},e);for(let e of Object.keys(n)){let t=n[e];t!==void 0&&(r[e]=t)}return(e.tools!==void 0||n.tools!==void 0)&&(r.tools=t.t(t.t({},e.tools),n.tools)),r}function p(i,a){let s=f((0,r.useContext)(l),i),[u,d]=(0,r.useState)(null),p=(0,r.useRef)(s);p.current=s;let h=(0,r.useRef)({editor:null,holder:null,destroyTimeout:null,isDestroyed:!1,depsToken:null}),g=(0,r.useMemo)(()=>({}),a==null?[]:a),_=(0,r.useRef)(s.data),v=(0,r.useRef)(null),y=(0,r.useRef)(s.data),b=(0,r.useRef)(Promise.resolve()),x=(0,r.useRef)(void 0);(0,r.useEffect)(()=>{if(typeof window>`u`)return;let n=h.current;if(n.destroyTimeout!==null&&(clearTimeout(n.destroyTimeout),n.destroyTimeout=null),n.editor!==null&&!n.isDestroyed&&n.depsToken===g)return d(n.editor),()=>{m(n,d)};if(n.editor!==null&&!n.isDestroyed){c(n.editor);try{n.editor.destroy()}catch(e){}n.editor=null,n.holder=null,n.isDestroyed=!0,d(null)}let r=document.createElement(`div`);n.holder=r,n.isDestroyed=!1,n.depsToken=g;let i=p.current,a=t.t(t.t({},i),{},{holder:r,onReady:(...e)=>{var t,n;(t=(n=p.current).onReady)==null||t.call(n,...e)},onChange:(...e)=>{var t,n;(t=(n=p.current).onChange)==null||t.call(n,...e)}});i.onSave&&(a.onSave=(...e)=>{var t,n;_.current=e[0],(t=(n=p.current).onSave)==null||t.call(n,...e)}),i.onBeforeRender&&(a.onBeforeRender=(...e)=>{var t,n,r;return(t=(n=(r=p.current).onBeforeRender)==null?void 0:n.call(r,...e))==null?e[0]:t}),i.onAfterRender&&(a.onAfterRender=(...e)=>{var t,n;(t=(n=p.current).onAfterRender)==null||t.call(n,...e)});let s=new e.t(a);return n.editor=s,y.current=i.data,o(s,r),s.isReady.then(()=>{n.editor===s&&!n.isDestroyed&&d(s)}).catch(()=>{if(n.editor===s&&!n.isDestroyed){c(s);try{s.destroy()}catch(e){}n.editor=null,n.holder=null,n.isDestroyed=!0,d(null)}}),()=>{m(n,d)}},[g]);let{readOnly:S}=s;(0,r.useEffect)(()=>{u!==null&&u.readOnly.set(S==null?!1:S)},[u,S]);let{autofocus:C}=s;(0,r.useEffect)(()=>{u===null||!C||u.focus()},[u,C]);let{theme:w}=s;(0,r.useEffect)(()=>{u===null||w===void 0||u.theme.set(w)},[u,w]);let{width:T}=s;(0,r.useEffect)(()=>{u===null||T===void 0||u.width.set(T)},[u,T]);let{placeholder:E}=s;(0,r.useEffect)(()=>{u===null||E===void 0||u.placeholder.set(E)},[u,E]);let{data:D}=s;return(0,r.useEffect)(()=>{if(u===null||D===void 0)return;let e=h.current;if(!(e.editor!==u||e.isDestroyed)){if(v.current!==u&&(v.current=u,x.current=void 0,n.r(D,y.current))){_.current=D;return}n.r(D,_.current)||n.r(D,x.current)||(x.current=D,b.current=b.current.catch(()=>void 0).then(()=>u.render(D)).then(()=>{_.current=D},()=>{}).then(()=>{x.current===D&&(x.current=void 0)}))}},[u,D]),u}function m(e,t){e.destroyTimeout=setTimeout(()=>{if(e.editor!==null){c(e.editor);try{e.editor.destroy()}catch(e){}e.editor=null,e.holder=null,e.isDestroyed=!0,e.destroyTimeout=null,t(null)}},0)}var h=[`editor`],g=(0,r.forwardRef)(function(n,a){let{editor:o}=n,c=e.i(n,h),l=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(o===null||l.current===null)return;let e=s(o);if(e!==void 0)return l.current.appendChild(e),()=>{e.remove()}},[o]),(0,i.jsx)(`div`,t.t({ref:e=>{if(l.current=e,typeof a==`function`)a(e);else if(a!=null){let t=a;t.current=e}}},c))}),_=`autofocus.defaultBlock.dataModel.placeholder.sanitizer.hideToolbar.maxHistoryLength.historyDebounceTime.newGroupDelay.globalUndoRedo.tools.data.minHeight.logLevel.readOnly.i18n.link.linkPaste.onBeforePaste.onReady.onChange.onSave.onBeforeRender.onAfterRender.inlineToolbar.tunes.style.theme.onThemeChange.scrollToBlock.user.resolveUser.notifierPosition.notifier.width`.split(`.`),v=[`deps`,`onReady`,`onBlocksRendered`,`onBlockRendered`],y=new Set(_),b=(0,r.forwardRef)(function(n,a){let{deps:o,onReady:s,onBlocksRendered:c,onBlockRendered:l}=n,u=e.i(n,v),d={},f={};for(let e of Object.keys(u)){let t=u[e];y.has(e)?d[e]=t:f[e]=t}let m=p(d,o);(0,r.useImperativeHandle)(a,()=>m,[m]);let h=(0,r.useRef)(s);h.current=s,(0,r.useEffect)(()=>{if(m!==null){var e;(e=h.current)==null||e.call(h,m)}},[m]);let _=(0,r.useRef)(c);_.current=c;let b=(0,r.useRef)(l);b.current=l;let x=!!c,S=!!l;return(0,r.useEffect)(()=>{if(m===null)return;let e=[];if(x){let t=e=>{var t;return(t=_.current)==null?void 0:t.call(_,e)};m.on(`blocks:rendered`,t),e.push([`blocks:rendered`,t])}if(S){let t=e=>{var t;return(t=b.current)==null?void 0:t.call(b,e)};m.on(`block:rendered`,t),e.push([`block:rendered`,t])}return()=>{for(let[t,n]of e)m.off(t,n)}},[m,x,S]),(0,i.jsx)(g,t.t({editor:m},f))}),x=`block changed`;function S(e){let t=(0,r.useRef)(0),i=(0,r.useRef)(e);i.current!==e&&(i.current=e,t.current=0);let a=(0,r.useCallback)(n=>{if(e===null)return()=>void 0;let r=()=>{t.current+=1,n()};return e.on(x,r),()=>e.off(x,r)},[e]),o=(0,r.useCallback)(()=>t.current,[]);return(0,r.useSyncExternalStore)(a,o,o),(0,r.useMemo)(()=>e===null?n.t:n.n(e),[e])}exports.BlokContent=g,exports.BlokEditor=b,exports.BlokProvider=u,exports.useBlocks=S,exports.useBlok=p,exports.useBlokDefaults=d;
package/dist/react.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { i as e, t } from "./chunks/blok-BJWQ-q2z.mjs";
1
+ import { i as e, t } from "./chunks/blok-ClyUPnd_.mjs";
2
2
  import { t as n } from "./chunks/objectSpread2-jlBcdYeb.mjs";
3
- import { n as r, r as i, t as a } from "./chunks/blocks-api-PtEFDguK.mjs";
3
+ import { n as r, r as i, t as a } from "./chunks/blocks-api-BnAQO7Oc.mjs";
4
4
  import { createContext as o, forwardRef as s, useCallback as c, useContext as l, useEffect as u, useImperativeHandle as d, useMemo as f, useRef as p, useState as m, useSyncExternalStore as h } from "react";
5
5
  import { jsx as g } from "react/jsx-runtime";
6
6
  //#region src/react/holder-map.ts
package/dist/tools.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunks/constants-BJXlAaDV.cjs`),t=require(`./chunks/tools-C5uIeqcv.cjs`);exports.Audio=t._,exports.Bold=t.u,exports.Bookmark=t.d,exports.Callout=t.T,exports.Code=t.b,exports.Column=t.m,exports.ColumnList=t.h,exports.Columns=t.p,exports.Convert=e.m,exports.Database=t.w,exports.DatabaseRow=t.C,exports.Divider=t.S,exports.Embed=t.f,exports.Equation=t.r,exports.File=t.v,exports.Header=t.k,exports.Image=t.y,exports.InlineCode=t.i,exports.Italic=t.l,exports.Link=t.c,exports.List=t.O,exports.Marker=t.s,exports.Paragraph=t.A,exports.Quote=t.x,exports.Strikethrough=t.a,exports.Table=t.D,exports.Toggle=t.E,exports.Underline=t.o,exports.Video=t.g,exports.defaultBlockTools=t.t,exports.defaultInlineTools=t.n;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunks/constants-wdDLQLHe.cjs`),t=require(`./chunks/tools-3heNz_5W.cjs`);exports.Audio=t._,exports.Bold=t.u,exports.Bookmark=t.d,exports.Callout=t.T,exports.Code=t.b,exports.Column=t.m,exports.ColumnList=t.h,exports.Columns=t.p,exports.Convert=e.m,exports.Database=t.w,exports.DatabaseRow=t.C,exports.Divider=t.S,exports.Embed=t.f,exports.Equation=t.r,exports.File=t.v,exports.Header=t.k,exports.Image=t.y,exports.InlineCode=t.i,exports.Italic=t.l,exports.Link=t.c,exports.List=t.O,exports.Marker=t.s,exports.Paragraph=t.A,exports.Quote=t.x,exports.Strikethrough=t.a,exports.Table=t.D,exports.Toggle=t.E,exports.Underline=t.o,exports.Video=t.g,exports.defaultBlockTools=t.t,exports.defaultInlineTools=t.n;
package/dist/tools.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { m as e } from "./chunks/constants-Cn64UAto.mjs";
2
- import { A as t, C as n, D as r, E as i, O as a, S as o, T as s, _ as c, a as l, b as u, c as d, d as f, f as p, g as m, h, i as g, k as _, l as v, m as y, n as b, o as x, p as S, r as C, s as w, t as T, u as E, v as D, w as O, x as k, y as A } from "./chunks/tools-CESBJKzE.mjs";
1
+ import { m as e } from "./chunks/constants-DQ8_rwVH.mjs";
2
+ import { A as t, C as n, D as r, E as i, O as a, S as o, T as s, _ as c, a as l, b as u, c as d, d as f, f as p, g as m, h, i as g, k as _, l as v, m as y, n as b, o as x, p as S, r as C, s as w, t as T, u as E, v as D, w as O, x as k, y as A } from "./chunks/tools-DrDXTtxA.mjs";
3
3
  export { c as Audio, E as Bold, f as Bookmark, s as Callout, u as Code, y as Column, h as ColumnList, S as Columns, e as Convert, O as Database, n as DatabaseRow, o as Divider, p as Embed, C as Equation, D as File, _ as Header, A as Image, g as InlineCode, v as Italic, d as Link, a as List, w as Marker, t as Paragraph, k as Quote, l as Strikethrough, r as Table, i as Toggle, x as Underline, m as Video, T as defaultBlockTools, b as defaultInlineTools };
package/dist/vue.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunks/chunk-BL1yB9zm.cjs`);const e=require(`./chunks/blok-Cy-JlWM3.cjs`),t=require(`./chunks/constants-BJXlAaDV.cjs`),n=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),r=require(`./chunks/nested-blocks-Dg9WcNXO.cjs`),i=require(`./chunks/blocks-api-5O6qDUgW.cjs`);let a=require(`vue`);var o=new WeakMap;function s(e,t){o.set(e,t)}function c(e){return o.get(e)}function l(e){o.delete(e)}var u=Symbol(`BLOK_DEFAULT_CONFIG`);function d(e){(0,a.provide)(u,e)}function f(){return(0,a.inject)(u,{})}function p(e,t){if(Object.keys(e).length===0)return t;let r=n.t({},e);for(let e of Object.keys(t)){let n=t[e];n!==void 0&&(r[e]=n)}return(e.tools!==void 0||t.tools!==void 0)&&(r.tools=n.t(n.t({},e.tools),t.tools)),r}var m=`__blokPortalRegistry`,h=()=>{let e=(0,a.reactive)(new Map);return{entries:e,register(t,n){e.set(t,(0,a.markRaw)(n))},unregister(t){e.delete(t)},setProps(t,n){let r=e.get(t);r!==void 0&&Object.assign(r.props,n)}}},g=new WeakMap;function _(e,t){g.set(e,t)}function v(e){return g.get(e)}function y(e){g.delete(e)}var b=(e,t)=>{if(typeof e!=`object`||!e)return e;let r={};for(let[a,o]of Object.entries(e)){var i;let e=typeof o==`function`?o:o==null?void 0:o.class;if(!(typeof e==`function`&&e.__isBlokVueBlock===!0)){r[a]=o;continue}let s=typeof o==`function`?{class:o}:n.t({},o);s.config=n.t(n.t({},(i=s.config)==null?{}:i),{},{[m]:t}),r[a]=s}return r};function x(t,r){let o=(0,a.shallowRef)(null),c=(0,a.inject)(u,{}),d=()=>p(c,(0,a.toValue)(t)),f={current:null,holder:null,lastRenderedData:d().data,seededEditor:null,renderChain:Promise.resolve()},m=()=>{let e=n.t({},p((0,a.toRaw)(c),(0,a.toRaw)((0,a.toValue)(t))));return delete e.holder,e.data!==void 0&&(e.data=(0,a.toRaw)(e.data)),e},g=()=>{if(f.current!==null){l(f.current),y(f.current);try{f.current.destroy()}catch(e){}}f.current=null,f.holder=null,o.value=null},v=()=>{let t=document.createElement(`div`);f.holder=t;let r=m(),i=h();r.tools!==void 0&&(r.tools=b(r.tools,i)),typeof r.onSave==`function`&&(r.onSave=(...e)=>{var t,n;f.lastRenderedData=e[0],(t=(n=d()).onSave)==null||t.call(n,...e)});let a=new e.t(n.t(n.t({},r),{},{holder:t}));f.current=a,s(a,t),_(a,i),a.isReady.then(()=>{f.current===a&&(o.value=a)}).catch(()=>{f.current===a&&g()})};return(0,a.watch)([o,()=>d().readOnly],([e,t])=>{e&&e.readOnly.set(t==null?!1:t)},{immediate:!0}),(0,a.watch)([o,()=>d().theme],([e,t])=>{e&&t!==void 0&&e.theme.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().width],([e,t])=>{e&&t!==void 0&&e.width.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().placeholder],([e,t])=>{e&&t!==void 0&&e.placeholder.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().autofocus],([e,t])=>{e&&t&&e.focus()},{immediate:!0}),(0,a.watch)([o,()=>d().data],([e,t])=>{if(!(!e||t===void 0)){if(f.seededEditor!==e){f.seededEditor=e,f.lastRenderedData=t;return}i.r(t,f.lastRenderedData)||(f.lastRenderedData=t,f.renderChain=f.renderChain.catch(()=>void 0).then(()=>e.render((0,a.toRaw)(t))))}},{immediate:!0}),r!==void 0&&(0,a.watch)(()=>(0,a.toValue)(r),()=>{g(),v()}),(0,a.onMounted)(v),(0,a.onBeforeUnmount)(g),o}var S=`block changed`;function C(e){let t=(0,a.shallowRef)(0),n=()=>{let t=(0,a.toValue)(e);return t===null?null:(0,a.toRaw)(t)},r=()=>{t.value},o=(0,a.shallowRef)(i.t),s={editor:null,handler:null},c=()=>{s.editor!==null&&s.handler!==null&&s.editor.off(S,s.handler),s.editor=null,s.handler=null};return(0,a.watch)(()=>n(),e=>{if(c(),t.value+=1,e===null){o.value=i.t;return}let n=()=>{t.value+=1};e.on(S,n),s.editor=e,s.handler=n,o.value=i.n(e,r)},{immediate:!0}),(0,a.onScopeDispose)(c),{getById:e=>o.value.getById(e),getChildren:e=>o.value.getChildren(e),insert:e=>o.value.insert(e),insertMany:e=>o.value.insertMany(e),insertTree:e=>o.value.insertTree(e),insertMarkdown:(e,t)=>o.value.insertMarkdown(e,t),move:(e,t)=>o.value.move(e,t),nest:(e,t)=>o.value.nest(e,t),unnest:e=>o.value.unnest(e),remove:e=>o.value.remove(e),update:(e,t,n)=>o.value.update(e,t,n),convert:(e,t,n,r)=>o.value.convert(e,t,n,r),transact:e=>o.value.transact(e),transactWithoutCapture:e=>o.value.transactWithoutCapture(e),getBlocksCount:()=>o.value.getBlocksCount(),getCurrentBlockIndex:()=>o.value.getCurrentBlockIndex(),getBlockByIndex:e=>o.value.getBlockByIndex(e),getBlockByElement:e=>o.value.getBlockByElement(e),getBlockData:e=>o.value.getBlockData(e),getBlockIndex:e=>o.value.getBlockIndex(e),composeBlockData:e=>o.value.composeBlockData(e),renderFromHTML:e=>o.value.renderFromHTML(e),insertOutputData:(e,t)=>o.value.insertOutputData(e,t),splitBlock:(e,t,n,r,i)=>o.value.splitBlock(e,t,n,r,i),insertInsideParent:(e,t,n)=>o.value.insertInsideParent(e,t,n),render:e=>o.value.render(e),clear:()=>o.value.clear(),isSyncingFromYjs:()=>o.value.isSyncingFromYjs()}}var w=(0,a.defineComponent)({name:`BlockErrorBoundary`,setup(e,{slots:t}){return(0,a.onErrorCaptured)(()=>!1),()=>{var e;return(e=t.default)==null?void 0:e.call(t)}}}),T=(0,a.defineComponent)({name:`BlockPortalHost`,props:{registry:{type:Object,required:!0}},setup(e){return()=>(0,a.h)(a.Fragment,Array.from(e.registry.entries.entries()).map(([e,t])=>(0,a.h)(a.Teleport,{key:e,to:t.hostEl},[(0,a.h)(w,null,{default:()=>(0,a.h)(t.component,t.props)})])))}}),E=(0,a.defineComponent)({name:`BlokContent`,props:{editor:{type:Object,default:null}},setup(e){let t=(0,a.ref)(null),n=e=>{if(t.value===null||e===null)return;let n=c((0,a.toRaw)(e));n!==void 0&&t.value.appendChild(n)},r=e=>{var t;e!==null&&((t=c((0,a.toRaw)(e)))==null||t.remove())};return(0,a.onMounted)(()=>{n(e.editor)}),(0,a.watch)(()=>e.editor,(e,t)=>{r(t==null?null:t),n(e)}),(0,a.onBeforeUnmount)(()=>{r(e.editor)}),()=>{let n=e.editor,r=n===null?void 0:v((0,a.toRaw)(n));return(0,a.h)(`div`,{ref:t},r===void 0?[]:[(0,a.h)(T,{registry:r})])}}}),D=`autofocus.defaultBlock.dataModel.placeholder.sanitizer.hideToolbar.maxHistoryLength.historyDebounceTime.newGroupDelay.globalUndoRedo.tools.data.minHeight.logLevel.readOnly.i18n.link.linkPaste.inlineToolbar.tunes.style.theme.scrollToBlock.user.resolveUser.notifierPosition.notifier.width.onBeforeRender.onBeforePaste`.split(`.`),O=(0,a.defineComponent)({name:`BlokEditor`,inheritAttrs:!1,props:{autofocus:{type:Boolean,default:void 0},defaultBlock:{type:String,default:void 0},dataModel:{type:String,default:void 0},placeholder:{type:[String,Boolean],default:void 0},sanitizer:{type:Object,default:void 0},hideToolbar:{type:Boolean,default:void 0},maxHistoryLength:{type:Number,default:void 0},historyDebounceTime:{type:Number,default:void 0},newGroupDelay:{type:Number,default:void 0},globalUndoRedo:{type:Boolean,default:void 0},tools:{type:Object,default:void 0},data:{type:Object,default:void 0},minHeight:{type:Number,default:void 0},logLevel:{type:String,default:void 0},readOnly:{type:Boolean,default:void 0},i18n:{type:Object,default:void 0},link:{type:Object,default:void 0},linkPaste:{type:Object,default:void 0},inlineToolbar:{type:[Array,Boolean],default:void 0},tunes:{type:Array,default:void 0},style:{type:Object,default:void 0},theme:{type:String,default:void 0},scrollToBlock:{type:Object,default:void 0},user:{type:Object,default:void 0},resolveUser:{type:Function,default:void 0},notifierPosition:{type:String,default:void 0},notifier:{type:Function,default:void 0},width:{type:String,default:void 0},onBeforeRender:{type:Function,default:void 0},onBeforePaste:{type:Function,default:void 0},recreateKey:{type:null}},emits:{ready:e=>!0,change:e=>!0,save:e=>!0,"update:data":e=>!0,"after-render":e=>!0,"theme-change":e=>!0,"blocks-rendered":e=>!0,"block-rendered":e=>!0},setup(e,{emit:t,expose:r,attrs:i}){let o=(0,a.getCurrentInstance)(),s=e=>{let t=o==null?void 0:o.vnode.props;return t!=null&&e in t},c=()=>{let n={};for(let t of D){let r=e[t];r!==void 0&&(n[t]=r)}return s(`onChange`)&&(n.onChange=(e,n)=>{t(`change`,{api:e,event:n})}),(s(`onSave`)||s(`onUpdate:data`))&&(n.onSave=e=>{t(`update:data`,e),t(`save`,e)}),s(`onAfterRender`)&&(n.onAfterRender=e=>{t(`after-render`,e)}),s(`onThemeChange`)&&(n.onThemeChange=e=>{t(`theme-change`,e)}),n},l=x(()=>c(),()=>e.recreateKey);(0,a.watch)(l,(e,n,r)=>{if(e===null)return;let i=[];if(s(`onBlocksRendered`)){let n=e=>t(`blocks-rendered`,e);e.on(`blocks:rendered`,n),i.push([`blocks:rendered`,n])}if(s(`onBlockRendered`)){let n=e=>t(`block-rendered`,e);e.on(`block:rendered`,n),i.push([`block:rendered`,n])}r(()=>{for(let[t,n]of i)e.off(t,n)})});let u={last:null};return(0,a.watch)(l,e=>{e!==null&&e!==u.last&&(u.last=e,t(`ready`,e))}),r({instance:(0,a.computed)(()=>l.value),save:()=>{var e;return(e=l.value)==null?void 0:e.save()},focus:e=>{var t;(t=l.value)==null||t.focus(e)},render:e=>{var t;return(t=l.value)==null?void 0:t.render(e)}}),()=>(0,a.h)(E,n.t({editor:l.value},i))}}),k=(e,t)=>{let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r].default:t[r];return Object.freeze(n)};function A(e){var o;let s=(0,a.defineComponent)({name:`VueBlock(${e.type})`,props:{ctx:{type:Object,required:!0}},setup(t){return e.setup(t.ctx)}});return o=class{static get toolbox(){return e.toolbox}static get isReadOnlySupported(){return!0}constructor(i){var o,s;this.hostEl=null,this.pendingDispatch=!1,this.commit=t=>{let r=k(e.propSchema,n.t(n.t({},this.mirror),t));this.mirror=r,this.lastRendered=r,this.dataRef.value=r,this.flushDispatch()},this.blockApi=i.block;let c=(o=i.config)==null?{}:o;this.registry=c[m];let l=i.api;this.pointerDrag=()=>{var e;return(l==null||(e=l.blocks)==null?void 0:e.isPointerDragActive)===!0},this.mirror=k(e.propSchema,(0,a.toRaw)((s=i.data)==null?{}:s)),this.lastRendered=this.mirror,this.dataRef=(0,a.shallowRef)(this.mirror),this.readOnlyRef=(0,a.shallowRef)(i.readOnly);let u=this.blockApi;this.childrenComponent=(0,a.defineComponent)({name:`VueBlockChildren(${e.type})`,setup(){let e=(0,a.ref)(null),n=()=>{e.value!==null&&r.t(e.value,u.getChildren())};return(0,a.onMounted)(n),(0,a.onUpdated)(n),()=>(0,a.h)(`div`,{ref:e,[t.yi.nestedBlocks]:``})}})}render(){var e;let t=document.createElement(`div`);t.setAttribute(`data-blok-mutation-free`,`true`),this.hostEl=t;let n={data:this.dataRef,commit:this.commit,block:this.blockApi,readOnly:this.readOnlyRef,BlockChildren:this.childrenComponent};return(e=this.registry)==null||e.register(this.blockApi.id,{hostEl:t,component:s,props:{ctx:n}}),t}rendered(){var t;(t=e.onRendered)==null||t.call(e,this.blockApi)}save(){return this.mirror}async setData(t){var n=this;let r=k(e.propSchema,(0,a.toRaw)(t==null?{}:t));return i.r(r,n.lastRendered)?!0:(n.mirror=r,n.lastRendered=r,n.dataRef.value=r,await(0,a.nextTick)(),!0)}setReadOnly(e){this.readOnlyRef.value=e}moved(){var t;(t=e.onMoved)==null||t.call(e,this.blockApi)}removed(){var t,n;(t=this.registry)==null||t.unregister(this.blockApi.id),(n=e.onRemoved)==null||n.call(e,this.blockApi)}destroy(){var e;(e=this.registry)==null||e.unregister(this.blockApi.id)}flushDispatch(){if(!this.pointerDrag()){this.pendingDispatch=!1,this.blockApi.dispatchChange();return}if(this.pendingDispatch)return;this.pendingDispatch=!0;let e=()=>{if(this.pointerDrag()){requestAnimationFrame(e);return}this.pendingDispatch=!1,this.blockApi.dispatchChange()};requestAnimationFrame(e)}},o.__isBlokVueBlock=!0,o}exports.BLOK_DEFAULT_CONFIG=u,exports.BlokContent=E,exports.BlokEditor=O,exports.createVueBlock=A,exports.provideBlok=d,exports.useBlocks=C,exports.useBlok=x,exports.useBlokDefaults=f;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./chunks/chunk-BL1yB9zm.cjs`);const e=require(`./chunks/blok-DKHOQdVb.cjs`),t=require(`./chunks/constants-wdDLQLHe.cjs`),n=require(`./chunks/objectSpread2-iNkE6aJh.cjs`),r=require(`./chunks/nested-blocks-Cszj6BSF.cjs`),i=require(`./chunks/blocks-api-4oI34PVj.cjs`);let a=require(`vue`);var o=new WeakMap;function s(e,t){o.set(e,t)}function c(e){return o.get(e)}function l(e){o.delete(e)}var u=Symbol(`BLOK_DEFAULT_CONFIG`);function d(e){(0,a.provide)(u,e)}function f(){return(0,a.inject)(u,{})}function p(e,t){if(Object.keys(e).length===0)return t;let r=n.t({},e);for(let e of Object.keys(t)){let n=t[e];n!==void 0&&(r[e]=n)}return(e.tools!==void 0||t.tools!==void 0)&&(r.tools=n.t(n.t({},e.tools),t.tools)),r}var m=`__blokPortalRegistry`,h=()=>{let e=(0,a.reactive)(new Map);return{entries:e,register(t,n){e.set(t,(0,a.markRaw)(n))},unregister(t){e.delete(t)},setProps(t,n){let r=e.get(t);r!==void 0&&Object.assign(r.props,n)}}},g=new WeakMap;function _(e,t){g.set(e,t)}function v(e){return g.get(e)}function y(e){g.delete(e)}var b=(e,t)=>{if(typeof e!=`object`||!e)return e;let r={};for(let[a,o]of Object.entries(e)){var i;let e=typeof o==`function`?o:o==null?void 0:o.class;if(!(typeof e==`function`&&e.__isBlokVueBlock===!0)){r[a]=o;continue}let s=typeof o==`function`?{class:o}:n.t({},o);s.config=n.t(n.t({},(i=s.config)==null?{}:i),{},{[m]:t}),r[a]=s}return r};function x(t,r){let o=(0,a.shallowRef)(null),c=(0,a.inject)(u,{}),d=()=>p(c,(0,a.toValue)(t)),f={current:null,holder:null,lastRenderedData:d().data,seededEditor:null,renderChain:Promise.resolve()},m=()=>{let e=n.t({},p((0,a.toRaw)(c),(0,a.toRaw)((0,a.toValue)(t))));return delete e.holder,e.data!==void 0&&(e.data=(0,a.toRaw)(e.data)),e},g=()=>{if(f.current!==null){l(f.current),y(f.current);try{f.current.destroy()}catch(e){}}f.current=null,f.holder=null,o.value=null},v=()=>{let t=document.createElement(`div`);f.holder=t;let r=m(),i=h();r.tools!==void 0&&(r.tools=b(r.tools,i)),typeof r.onSave==`function`&&(r.onSave=(...e)=>{var t,n;f.lastRenderedData=e[0],(t=(n=d()).onSave)==null||t.call(n,...e)});let a=new e.t(n.t(n.t({},r),{},{holder:t}));f.current=a,s(a,t),_(a,i),a.isReady.then(()=>{f.current===a&&(o.value=a)}).catch(()=>{f.current===a&&g()})};return(0,a.watch)([o,()=>d().readOnly],([e,t])=>{e&&e.readOnly.set(t==null?!1:t)},{immediate:!0}),(0,a.watch)([o,()=>d().theme],([e,t])=>{e&&t!==void 0&&e.theme.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().width],([e,t])=>{e&&t!==void 0&&e.width.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().placeholder],([e,t])=>{e&&t!==void 0&&e.placeholder.set(t)},{immediate:!0}),(0,a.watch)([o,()=>d().autofocus],([e,t])=>{e&&t&&e.focus()},{immediate:!0}),(0,a.watch)([o,()=>d().data],([e,t])=>{if(!(!e||t===void 0)){if(f.seededEditor!==e){f.seededEditor=e,f.lastRenderedData=t;return}i.r(t,f.lastRenderedData)||(f.lastRenderedData=t,f.renderChain=f.renderChain.catch(()=>void 0).then(()=>e.render((0,a.toRaw)(t))))}},{immediate:!0}),r!==void 0&&(0,a.watch)(()=>(0,a.toValue)(r),()=>{g(),v()}),(0,a.onMounted)(v),(0,a.onBeforeUnmount)(g),o}var S=`block changed`;function C(e){let t=(0,a.shallowRef)(0),n=()=>{let t=(0,a.toValue)(e);return t===null?null:(0,a.toRaw)(t)},r=()=>{t.value},o=(0,a.shallowRef)(i.t),s={editor:null,handler:null},c=()=>{s.editor!==null&&s.handler!==null&&s.editor.off(S,s.handler),s.editor=null,s.handler=null};return(0,a.watch)(()=>n(),e=>{if(c(),t.value+=1,e===null){o.value=i.t;return}let n=()=>{t.value+=1};e.on(S,n),s.editor=e,s.handler=n,o.value=i.n(e,r)},{immediate:!0}),(0,a.onScopeDispose)(c),{getById:e=>o.value.getById(e),getChildren:e=>o.value.getChildren(e),insert:e=>o.value.insert(e),insertMany:e=>o.value.insertMany(e),insertTree:e=>o.value.insertTree(e),insertMarkdown:(e,t)=>o.value.insertMarkdown(e,t),move:(e,t)=>o.value.move(e,t),nest:(e,t)=>o.value.nest(e,t),unnest:e=>o.value.unnest(e),remove:e=>o.value.remove(e),update:(e,t,n)=>o.value.update(e,t,n),convert:(e,t,n,r)=>o.value.convert(e,t,n,r),transact:e=>o.value.transact(e),transactWithoutCapture:e=>o.value.transactWithoutCapture(e),getBlocksCount:()=>o.value.getBlocksCount(),getCurrentBlockIndex:()=>o.value.getCurrentBlockIndex(),getBlockByIndex:e=>o.value.getBlockByIndex(e),getBlockByElement:e=>o.value.getBlockByElement(e),getBlockData:e=>o.value.getBlockData(e),getBlockIndex:e=>o.value.getBlockIndex(e),composeBlockData:e=>o.value.composeBlockData(e),renderFromHTML:e=>o.value.renderFromHTML(e),insertOutputData:(e,t)=>o.value.insertOutputData(e,t),splitBlock:(e,t,n,r,i)=>o.value.splitBlock(e,t,n,r,i),insertInsideParent:(e,t,n)=>o.value.insertInsideParent(e,t,n),render:e=>o.value.render(e),clear:()=>o.value.clear(),isSyncingFromYjs:()=>o.value.isSyncingFromYjs()}}var w=(0,a.defineComponent)({name:`BlockErrorBoundary`,setup(e,{slots:t}){return(0,a.onErrorCaptured)(()=>!1),()=>{var e;return(e=t.default)==null?void 0:e.call(t)}}}),T=(0,a.defineComponent)({name:`BlockPortalHost`,props:{registry:{type:Object,required:!0}},setup(e){return()=>(0,a.h)(a.Fragment,Array.from(e.registry.entries.entries()).map(([e,t])=>(0,a.h)(a.Teleport,{key:e,to:t.hostEl},[(0,a.h)(w,null,{default:()=>(0,a.h)(t.component,t.props)})])))}}),E=(0,a.defineComponent)({name:`BlokContent`,props:{editor:{type:Object,default:null}},setup(e){let t=(0,a.ref)(null),n=e=>{if(t.value===null||e===null)return;let n=c((0,a.toRaw)(e));n!==void 0&&t.value.appendChild(n)},r=e=>{var t;e!==null&&((t=c((0,a.toRaw)(e)))==null||t.remove())};return(0,a.onMounted)(()=>{n(e.editor)}),(0,a.watch)(()=>e.editor,(e,t)=>{r(t==null?null:t),n(e)}),(0,a.onBeforeUnmount)(()=>{r(e.editor)}),()=>{let n=e.editor,r=n===null?void 0:v((0,a.toRaw)(n));return(0,a.h)(`div`,{ref:t},r===void 0?[]:[(0,a.h)(T,{registry:r})])}}}),D=`autofocus.defaultBlock.dataModel.placeholder.sanitizer.hideToolbar.maxHistoryLength.historyDebounceTime.newGroupDelay.globalUndoRedo.tools.data.minHeight.logLevel.readOnly.i18n.link.linkPaste.inlineToolbar.tunes.style.theme.scrollToBlock.user.resolveUser.notifierPosition.notifier.width.onBeforeRender.onBeforePaste`.split(`.`),O=(0,a.defineComponent)({name:`BlokEditor`,inheritAttrs:!1,props:{autofocus:{type:Boolean,default:void 0},defaultBlock:{type:String,default:void 0},dataModel:{type:String,default:void 0},placeholder:{type:[String,Boolean],default:void 0},sanitizer:{type:Object,default:void 0},hideToolbar:{type:Boolean,default:void 0},maxHistoryLength:{type:Number,default:void 0},historyDebounceTime:{type:Number,default:void 0},newGroupDelay:{type:Number,default:void 0},globalUndoRedo:{type:Boolean,default:void 0},tools:{type:Object,default:void 0},data:{type:Object,default:void 0},minHeight:{type:Number,default:void 0},logLevel:{type:String,default:void 0},readOnly:{type:Boolean,default:void 0},i18n:{type:Object,default:void 0},link:{type:Object,default:void 0},linkPaste:{type:Object,default:void 0},inlineToolbar:{type:[Array,Boolean],default:void 0},tunes:{type:Array,default:void 0},style:{type:Object,default:void 0},theme:{type:String,default:void 0},scrollToBlock:{type:Object,default:void 0},user:{type:Object,default:void 0},resolveUser:{type:Function,default:void 0},notifierPosition:{type:String,default:void 0},notifier:{type:Function,default:void 0},width:{type:String,default:void 0},onBeforeRender:{type:Function,default:void 0},onBeforePaste:{type:Function,default:void 0},recreateKey:{type:null}},emits:{ready:e=>!0,change:e=>!0,save:e=>!0,"update:data":e=>!0,"after-render":e=>!0,"theme-change":e=>!0,"blocks-rendered":e=>!0,"block-rendered":e=>!0},setup(e,{emit:t,expose:r,attrs:i}){let o=(0,a.getCurrentInstance)(),s=e=>{let t=o==null?void 0:o.vnode.props;return t!=null&&e in t},c=()=>{let n={};for(let t of D){let r=e[t];r!==void 0&&(n[t]=r)}return s(`onChange`)&&(n.onChange=(e,n)=>{t(`change`,{api:e,event:n})}),(s(`onSave`)||s(`onUpdate:data`))&&(n.onSave=e=>{t(`update:data`,e),t(`save`,e)}),s(`onAfterRender`)&&(n.onAfterRender=e=>{t(`after-render`,e)}),s(`onThemeChange`)&&(n.onThemeChange=e=>{t(`theme-change`,e)}),n},l=x(()=>c(),()=>e.recreateKey);(0,a.watch)(l,(e,n,r)=>{if(e===null)return;let i=[];if(s(`onBlocksRendered`)){let n=e=>t(`blocks-rendered`,e);e.on(`blocks:rendered`,n),i.push([`blocks:rendered`,n])}if(s(`onBlockRendered`)){let n=e=>t(`block-rendered`,e);e.on(`block:rendered`,n),i.push([`block:rendered`,n])}r(()=>{for(let[t,n]of i)e.off(t,n)})});let u={last:null};return(0,a.watch)(l,e=>{e!==null&&e!==u.last&&(u.last=e,t(`ready`,e))}),r({instance:(0,a.computed)(()=>l.value),save:()=>{var e;return(e=l.value)==null?void 0:e.save()},focus:e=>{var t;(t=l.value)==null||t.focus(e)},render:e=>{var t;return(t=l.value)==null?void 0:t.render(e)}}),()=>(0,a.h)(E,n.t({editor:l.value},i))}}),k=(e,t)=>{let n={};for(let r of Object.keys(e))n[r]=t[r]===void 0?e[r].default:t[r];return Object.freeze(n)};function A(e){var o;let s=(0,a.defineComponent)({name:`VueBlock(${e.type})`,props:{ctx:{type:Object,required:!0}},setup(t){return e.setup(t.ctx)}});return o=class{static get toolbox(){return e.toolbox}static get isReadOnlySupported(){return!0}constructor(i){var o,s;this.hostEl=null,this.pendingDispatch=!1,this.commit=t=>{let r=k(e.propSchema,n.t(n.t({},this.mirror),t));this.mirror=r,this.lastRendered=r,this.dataRef.value=r,this.flushDispatch()},this.blockApi=i.block;let c=(o=i.config)==null?{}:o;this.registry=c[m];let l=i.api;this.pointerDrag=()=>{var e;return(l==null||(e=l.blocks)==null?void 0:e.isPointerDragActive)===!0},this.mirror=k(e.propSchema,(0,a.toRaw)((s=i.data)==null?{}:s)),this.lastRendered=this.mirror,this.dataRef=(0,a.shallowRef)(this.mirror),this.readOnlyRef=(0,a.shallowRef)(i.readOnly);let u=this.blockApi;this.childrenComponent=(0,a.defineComponent)({name:`VueBlockChildren(${e.type})`,setup(){let e=(0,a.ref)(null),n=()=>{e.value!==null&&r.t(e.value,u.getChildren())};return(0,a.onMounted)(n),(0,a.onUpdated)(n),()=>(0,a.h)(`div`,{ref:e,[t.yi.nestedBlocks]:``})}})}render(){var e;let t=document.createElement(`div`);t.setAttribute(`data-blok-mutation-free`,`true`),this.hostEl=t;let n={data:this.dataRef,commit:this.commit,block:this.blockApi,readOnly:this.readOnlyRef,BlockChildren:this.childrenComponent};return(e=this.registry)==null||e.register(this.blockApi.id,{hostEl:t,component:s,props:{ctx:n}}),t}rendered(){var t;(t=e.onRendered)==null||t.call(e,this.blockApi)}save(){return this.mirror}async setData(t){var n=this;let r=k(e.propSchema,(0,a.toRaw)(t==null?{}:t));return i.r(r,n.lastRendered)?!0:(n.mirror=r,n.lastRendered=r,n.dataRef.value=r,await(0,a.nextTick)(),!0)}setReadOnly(e){this.readOnlyRef.value=e}moved(){var t;(t=e.onMoved)==null||t.call(e,this.blockApi)}removed(){var t,n;(t=this.registry)==null||t.unregister(this.blockApi.id),(n=e.onRemoved)==null||n.call(e,this.blockApi)}destroy(){var e;(e=this.registry)==null||e.unregister(this.blockApi.id)}flushDispatch(){if(!this.pointerDrag()){this.pendingDispatch=!1,this.blockApi.dispatchChange();return}if(this.pendingDispatch)return;this.pendingDispatch=!0;let e=()=>{if(this.pointerDrag()){requestAnimationFrame(e);return}this.pendingDispatch=!1,this.blockApi.dispatchChange()};requestAnimationFrame(e)}},o.__isBlokVueBlock=!0,o}exports.BLOK_DEFAULT_CONFIG=u,exports.BlokContent=E,exports.BlokEditor=O,exports.createVueBlock=A,exports.provideBlok=d,exports.useBlocks=C,exports.useBlok=x,exports.useBlokDefaults=f;
package/dist/vue.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { t as e } from "./chunks/blok-BJWQ-q2z.mjs";
2
- import { yi as t } from "./chunks/constants-Cn64UAto.mjs";
1
+ import { t as e } from "./chunks/blok-ClyUPnd_.mjs";
2
+ import { yi as t } from "./chunks/constants-DQ8_rwVH.mjs";
3
3
  import { t as n } from "./chunks/objectSpread2-jlBcdYeb.mjs";
4
- import { t as r } from "./chunks/nested-blocks-Bsq8ONEf.mjs";
5
- import { n as i, r as a, t as o } from "./chunks/blocks-api-PtEFDguK.mjs";
4
+ import { t as r } from "./chunks/nested-blocks-Bf6k4Hqi.mjs";
5
+ import { n as i, r as a, t as o } from "./chunks/blocks-api-BnAQO7Oc.mjs";
6
6
  import { Fragment as s, Teleport as c, computed as l, defineComponent as u, getCurrentInstance as d, h as f, inject as p, markRaw as m, nextTick as h, onBeforeUnmount as g, onErrorCaptured as _, onMounted as v, onScopeDispose as y, onUpdated as b, provide as x, reactive as S, ref as C, shallowRef as w, toRaw as T, toValue as E, watch as D } from "vue";
7
7
  //#region src/vue/holder-map.ts
8
8
  var O = /* @__PURE__ */ new WeakMap();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jackuait/blok",
3
- "version": "0.24.0",
3
+ "version": "0.24.1",
4
4
  "description": "Blok — headless, highly extensible rich text editor built for developers who need to implement a block-based editing experience (similar to Notion) without building it from scratch",
5
5
  "module": "dist/blok.mjs",
6
6
  "main": "./dist/blok.cjs",
@@ -170,13 +170,6 @@
170
170
  "type": "git",
171
171
  "url": "git+https://github.com/JackUait/blok.git"
172
172
  },
173
- "dependencies": {
174
- "mdast-util-from-markdown": "^2.0.3",
175
- "mdast-util-gfm": "^3.1.0",
176
- "mdast-util-math": "^3.0.0",
177
- "micromark-extension-gfm": "^3.0.0",
178
- "micromark-extension-math": "^3.1.0"
179
- },
180
173
  "devDependencies": {
181
174
  "@aiden0z/pptx-renderer": "^1.1.0",
182
175
  "@analogjs/vite-plugin-angular": "2.6.1",
@@ -239,7 +232,12 @@
239
232
  "jsdom": "28.1.0",
240
233
  "jszip": "^3.10.1",
241
234
  "katex": "^0.16.44",
235
+ "mdast-util-from-markdown": "^2.0.3",
236
+ "mdast-util-gfm": "^3.1.0",
237
+ "mdast-util-math": "^3.0.0",
242
238
  "mermaid": "^11.15.0",
239
+ "micromark-extension-gfm": "^3.0.0",
240
+ "micromark-extension-math": "^3.1.0",
243
241
  "music-metadata": "^11.13.0",
244
242
  "nanoid": "5.1.9",
245
243
  "ng-packagr": "20.3.2",
package/types/icons.d.ts CHANGED
@@ -1 +1,144 @@
1
- export * from '../src/icons/index';
1
+ /**
2
+ * Public SVG-string icon constants for the `@dodopizza/blok/icons` subpath.
3
+ *
4
+ * AUTO-GENERATED from `src/components/icons/index.ts` by
5
+ * `scripts/generate-icons-dts.mjs`. Do NOT edit by hand — re-run the script.
6
+ *
7
+ * Kept self-contained (no `../src` re-export) so consumers' `tsc` never pulls
8
+ * raw implementation source into their program. Enforced by
9
+ * `test/unit/architecture/published-types-no-src-refs.test.ts`.
10
+ */
11
+
12
+ export declare const IconCheck: string;
13
+ export declare const IconWand: string;
14
+ export declare const IconCross: string;
15
+ export declare const IconBold: string;
16
+ export declare const IconItalic: string;
17
+ export declare const IconLink: string;
18
+ export declare const IconMarker: string;
19
+ export declare const IconEquation: string;
20
+ export declare const IconUnderline: string;
21
+ export declare const IconStrikethrough: string;
22
+ export declare const IconReplace: string;
23
+ export declare const IconMenu: string;
24
+ export declare const IconPlus: string;
25
+ export declare const IconMinus: string;
26
+ export declare const IconChevronDown: string;
27
+ export declare const IconChevronLeft: string;
28
+ export declare const IconChevronRight: string;
29
+ export declare const IconSearch: string;
30
+ export declare const IconH1: string;
31
+ export declare const IconH2: string;
32
+ export declare const IconH3: string;
33
+ export declare const IconH4: string;
34
+ export declare const IconH5: string;
35
+ export declare const IconH6: string;
36
+ export declare const IconHeading: string;
37
+ export declare const IconText: string;
38
+ export declare const IconWarning: string;
39
+ export declare const IconToggleList: string;
40
+ export declare const IconListBulleted: string;
41
+ export declare const IconListNumbered: string;
42
+ export declare const IconListChecklist: string;
43
+ export declare const IconTable: string;
44
+ export declare const IconHeaderRow: string;
45
+ export declare const IconPreview: string;
46
+ export declare const IconHeaderColumn: string;
47
+ export declare const IconInsertAbove: string;
48
+ export declare const IconInsertBelow: string;
49
+ export declare const IconInsertLeft: string;
50
+ export declare const IconInsertRight: string;
51
+ export declare const IconMoveUp: string;
52
+ export declare const IconMoveDown: string;
53
+ export declare const IconMoveLeft: string;
54
+ export declare const IconMoveRight: string;
55
+ export declare const IconCopy: string;
56
+ export declare const IconPencil: string;
57
+ export declare const IconTrash: string;
58
+ export declare const IconDotsHorizontal: string;
59
+ export declare const IconToggleH1: string;
60
+ export declare const IconToggleH2: string;
61
+ export declare const IconToggleH3: string;
62
+ export declare const IconGlobe: string;
63
+ export declare const IconBookmark: string;
64
+ export declare const IconMail: string;
65
+ export declare const IconHash: string;
66
+ export declare const IconQuote: string;
67
+ export declare const IconCallout: string;
68
+ export declare const IconPaintRoller: string;
69
+ export declare const IconDivider: string;
70
+ export declare const IconCode: string;
71
+ export declare const IconCodeBlock: string;
72
+ export declare const IconEmojiStar: string;
73
+ export declare const IconEmojiSmile: string;
74
+ export declare const IconEmojiSprout: string;
75
+ export declare const IconEmojiUtensils: string;
76
+ export declare const IconEmojiBall: string;
77
+ export declare const IconEmojiLightbulb: string;
78
+ export declare const IconEmojiFlag: string;
79
+ export declare const IconDatabase: string;
80
+ export declare const IconBoard: string;
81
+ export declare const IconGallery: string;
82
+ export declare const IconList: string;
83
+ export declare const IconCalendar: string;
84
+ export declare const IconMergeCells: string;
85
+ export declare const IconSplitCell: string;
86
+ export declare const IconSplitView: string;
87
+ export declare const IconPlacement: string;
88
+ export declare const IconImage: string;
89
+ export declare const IconImageAlignLeft: string;
90
+ export declare const IconImageAlignCenter: string;
91
+ export declare const IconImageAlignRight: string;
92
+ export declare const IconZoomOut: string;
93
+ export declare const IconZoomIn: string;
94
+ export declare const IconLinkCopy: string;
95
+ export declare const IconCollapseFullscreen: string;
96
+ export declare const IconExpandFullscreenImage: string;
97
+ export declare const IconDownloadImage: string;
98
+ export declare const IconCaptionImage: string;
99
+ export declare const IconReplaceImage: string;
100
+ export declare const IconCropImage: string;
101
+ export declare const IconMoreHorizontal: string;
102
+ export declare const IconCloseThick: string;
103
+ export declare const IconImageBroken: string;
104
+ export declare const IconUploadFailed: string;
105
+ export declare const IconUpload: string;
106
+ export declare const IconLinkExternal: string;
107
+ export declare const IconArrowDownLine: string;
108
+ export declare const IconArrowUp: string;
109
+ export declare const IconAlignLeft: string;
110
+ export declare const IconAlignCenter: string;
111
+ export declare const IconAlignRight: string;
112
+ export declare const IconCaption: string;
113
+ export declare const IconCrop: string;
114
+ export declare const IconExpandFullscreen: string;
115
+ export declare const IconPlayerFullscreenExit: string;
116
+ export declare const IconPlayerPlay: string;
117
+ export declare const IconPlayerPause: string;
118
+ export declare const IconPlayerBackward: string;
119
+ export declare const IconPlayerForward: string;
120
+ export declare const IconPlayerVolume: string;
121
+ export declare const IconPlayerVolumeMute: string;
122
+ export declare const IconPlayerSettings: string;
123
+ export declare const IconPlayerPip: string;
124
+ export declare const IconPlayerTheater: string;
125
+ export declare const IconPlayerSpeed: string;
126
+ export declare const IconPlayerLoop: string;
127
+ export declare const IconDownload: string;
128
+ export declare const IconSelect: string;
129
+ export declare const IconMultiSelect: string;
130
+ export declare const IconDice: string;
131
+ export declare const IconChevronRightSmall: string;
132
+ export declare const IconColumns: string;
133
+ export declare const IconVideo: string;
134
+ export declare const IconMusic: string;
135
+ export declare const IconMap: string;
136
+ export declare const IconChart: string;
137
+ export declare const IconMessage: string;
138
+ export declare const IconFile: string;
139
+ export declare const IconFilePdf: string;
140
+ export declare const IconFileDoc: string;
141
+ export declare const IconFileSheet: string;
142
+ export declare const IconFileSlides: string;
143
+ export declare const IconFileArchive: string;
144
+ export declare const buildIconColumnsCount: (count: number) => string;
@@ -1,2 +1,18 @@
1
- export { markdownToBlocks } from '../src/markdown/index';
1
+ import type { OutputBlockData } from './data-formats/output-data';
2
+ import type { MarkdownImportConfig } from './data-formats/markdown-import-config';
3
+
4
+ /**
5
+ * Convert a Markdown string to an array of Blok `OutputBlockData`.
6
+ *
7
+ * @param md - Markdown source string
8
+ * @param config - Optional configuration for tool mapping, GFM, and extensions
9
+ * @returns Blocks ready for `blok.blocks.render()` or `blok.blocks.insertMany()`
10
+ *
11
+ * NOTE: this signature is hand-authored to mirror the implementation in
12
+ * `src/markdown/index.ts`. It must stay self-contained — do NOT re-export from
13
+ * `../src/...` (that drags raw implementation source into every consumer's
14
+ * `tsc` program; see `test/unit/architecture/published-types-no-src-refs.test.ts`).
15
+ */
16
+ export declare function markdownToBlocks(md: string, config?: MarkdownImportConfig): Promise<OutputBlockData[]>;
17
+
2
18
  export type { MarkdownImportConfig, ToolMapEntry } from './data-formats/markdown-import-config';