@m2s2/vue-lib 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index16.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),a=require("./index76.cjs"),n={class:"m2s2-footer"},l={class:"footer-inner"},s={class:"footer-copy"},c={class:"footer-social","aria-label":"Social links"},i=["href","title","aria-label"],_=e.defineComponent({__name:"Footer",props:{config:{}},setup(o){const r=new Date().getFullYear();return(p,u)=>(e.openBlock(),e.createElementBlock("footer",n,[e.createElementVNode("div",l,[e.createElementVNode("span",s," © "+e.toDisplayString(e.unref(r))+" "+e.toDisplayString(o.config.brandName)+" — All Rights Reserved ",1),e.createElementVNode("nav",c,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.config.links,t=>(e.openBlock(),e.createElementBlock("a",e.mergeProps({key:t.type,href:t.href,class:"social-link",title:t.label??t.type,"aria-label":t.label??t.type},{ref_for:!0},t.type!=="email"?{target:"_blank",rel:"noopener noreferrer"}:{}),[e.createVNode(a,{type:t.type},null,8,["type"])],16,i))),128))])])]))}});module.exports=_;
1
+ "use strict";const e=require("vue"),a=require("./index75.cjs"),n={class:"m2s2-footer"},l={class:"footer-inner"},s={class:"footer-copy"},c={class:"footer-social","aria-label":"Social links"},i=["href","title","aria-label"],_=e.defineComponent({__name:"Footer",props:{config:{}},setup(o){const r=new Date().getFullYear();return(p,u)=>(e.openBlock(),e.createElementBlock("footer",n,[e.createElementVNode("div",l,[e.createElementVNode("span",s," © "+e.toDisplayString(e.unref(r))+" "+e.toDisplayString(o.config.brandName)+" — All Rights Reserved ",1),e.createElementVNode("nav",c,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.config.links,t=>(e.openBlock(),e.createElementBlock("a",e.mergeProps({key:t.type,href:t.href,class:"social-link",title:t.label??t.type,"aria-label":t.label??t.type},{ref_for:!0},t.type!=="email"?{target:"_blank",rel:"noopener noreferrer"}:{}),[e.createVNode(a,{type:t.type},null,8,["type"])],16,i))),128))])])]))}});module.exports=_;
package/dist/index16.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as l, openBlock as t, createElementBlock as o, createElementVNode as r, toDisplayString as s, unref as c, Fragment as i, renderList as f, mergeProps as p, createVNode as _ } from "vue";
2
- import m from "./index76.mjs";
2
+ import m from "./index75.mjs";
3
3
  const d = { class: "m2s2-footer" }, u = { class: "footer-inner" }, y = { class: "footer-copy" }, h = {
4
4
  class: "footer-social",
5
5
  "aria-label": "Social links"
package/dist/index26.cjs CHANGED
@@ -1,6 +1,6 @@
1
- "use strict";const e=require("vue"),Q=require("./index75.cjs"),X={class:"be-root"},Y={class:"be-meta"},Z={class:"be-field be-field--full"},ee=["value"],te={class:"be-field"},le={class:"be-field"},ae={class:"be-field be-field--full"},ne={class:"be-field be-field--full"},oe={class:"be-field"},ie={class:"be-tags"},se=["onClick","aria-label"],re={class:"be-field"},ce={class:"be-field be-field--cover"},ue={class:"be-cover"},de=["src"],ve={class:"be-cover__pick"},be={class:"be-editor"},me={class:"be-toolbar",role:"toolbar","aria-label":"Formatting"},pe=["title","onClick"],ge={class:"be-panes"},fe={class:"be-pane be-pane--write"},Ee=["value"],Ve={class:"be-pane be-pane--preview"},Ne=["innerHTML"],_e={class:"be-footer"},xe={class:"be-footer__meta"},ke=["disabled"],we=e.defineComponent({__name:"BlogEditor",props:{initialPost:{},coverImageUrl:{}},emits:["publish","coverImageSelected"],setup(R,{emit:q}){var T,C,I,P,B,D,S,M,U;const n=R,x=q,F=[{label:"Heading 2",icon:"H2",prefix:"## "},{label:"Heading 3",icon:"H3",prefix:"### "},{label:"Bold",icon:"B",wrap:["**","**"]},{label:"Italic",icon:"I",wrap:["*","*"]},{label:"Inline code",icon:"`",wrap:["`","`"]},{label:"Code block",icon:"{ }",block:"\n```\n\n```\n"},{label:"Blockquote",icon:"❝",prefix:"> "},{label:"Link",icon:"⇗",wrap:["[","](url)"]},{label:"Image",icon:"⬚",block:`![alt text](image-url)
1
+ "use strict";const e=require("vue"),re=require("./index76.cjs"),de={class:"be-root"},ue={class:"be-meta"},ce={class:"be-field be-field--full"},ve=["value"],be={class:"be-field"},me={class:"be-field"},pe={class:"be-field be-field--full"},fe={class:"be-field be-field--full"},ge={class:"be-field"},Ve={class:"be-tags"},Ee=["onClick","aria-label"],Ne={class:"be-field"},xe={class:"be-field be-field--cover"},we={class:"be-cover"},ke=["src"],Te={class:"be-cover__pick"},ye={class:"be-field"},_e={class:"be-field"},Pe={class:"be-field be-field--narrow-pair"},he={class:"be-editor"},Ie={class:"be-toolbar",role:"toolbar","aria-label":"Formatting"},Ce=["title","onClick"],De={class:"be-panes"},Be={class:"be-pane be-pane--write"},Se=["value"],Me={class:"be-pane be-pane--preview"},Ue=["innerHTML"],Le={class:"be-footer"},He={class:"be-footer__meta"},Re=["disabled"],qe=e.defineComponent({__name:"BlogEditor",props:{initialPost:{},coverImageUrl:{}},emits:["publish","coverImageSelected"],setup(Q,{emit:X}){var D,B,S,M,U,L,H,R,q,F,O,$,A,K,z,G,W;const n=Q,_=X,Y=[{label:"Heading 2",icon:"H2",prefix:"## "},{label:"Heading 3",icon:"H3",prefix:"### "},{label:"Bold",icon:"B",wrap:["**","**"]},{label:"Italic",icon:"I",wrap:["*","*"]},{label:"Inline code",icon:"`",wrap:["`","`"]},{label:"Code block",icon:"{ }",block:"\n```\n\n```\n"},{label:"Blockquote",icon:"❝",prefix:"> "},{label:"Link",icon:"⇗",wrap:["[","](url)"]},{label:"Image",icon:"⬚",block:`![alt text](image-url)
2
2
  `},{label:"Bullet list",icon:"•–",prefix:"- "},{label:"Numbered list",icon:"1.",prefix:"1. "},{label:"Divider",icon:"—",block:`
3
3
  ---
4
4
 
5
- `}];function O(){return new Date().toISOString().split("T")[0]}function k(l){return l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-")}function w(l){const t=l.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(t/200))}const c=e.ref(((T=n.initialPost)==null?void 0:T.title)??""),d=e.ref(((C=n.initialPost)==null?void 0:C.slug)??""),p=e.ref(((I=n.initialPost)==null?void 0:I.date)??O()),v=e.ref(((P=n.initialPost)==null?void 0:P.summary)??""),g=e.ref(((B=n.initialPost)==null?void 0:B.excerpt)??""),o=e.ref([...((D=n.initialPost)==null?void 0:D.tags)??[]]),u=e.ref(((S=n.initialPost)==null?void 0:S.readingTime)??1),i=e.ref(((M=n.initialPost)==null?void 0:M.content)??""),f=e.ref((U=n.initialPost)==null?void 0:U.coverImage),b=e.ref(""),N=e.ref(!!n.initialPost),h=e.ref(null);e.watch(()=>n.initialPost,l=>{l&&(c.value=l.title,d.value=l.slug,p.value=l.date,v.value=l.summary,g.value=l.excerpt??"",o.value=[...l.tags],u.value=l.readingTime??1,i.value=l.content,f.value=l.coverImage,N.value=!0)});const $=e.computed(()=>Q.marked.parse(i.value)),y=e.computed(()=>c.value.trim().length>0&&v.value.trim().length>0&&i.value.trim().length>0),_=e.computed(()=>f.value??n.coverImageUrl);function A(l){c.value=l.target.value,N.value||(d.value=k(c.value)),u.value=w(i.value)}function K(l){i.value=l.target.value,u.value=w(i.value)}function z(l){if(l.key==="Enter"||l.key===","){l.preventDefault();const t=b.value.trim().replace(/,/g,"").toLowerCase();t&&!o.value.includes(t)&&(o.value=[...o.value,t]),b.value=""}l.key==="Backspace"&&!b.value&&o.value.length&&(o.value=o.value.slice(0,-1))}function W(l){o.value=o.value.filter(t=>t!==l)}function j(l){var s;const t=(s=l.target.files)==null?void 0:s[0];if(!t)return;x("coverImageSelected",t);const a=new FileReader;a.onload=()=>{f.value=a.result},a.readAsDataURL(t)}function G(l){const t=h.value;if(!t)return;const a=t.selectionStart,s=t.selectionEnd,r=i.value;let E,V;if(l.wrap){const[m,L]=l.wrap,H=r.slice(a,s)||"text";E=r.slice(0,a)+m+H+L+r.slice(s),V=a+m.length+H.length+L.length}else if(l.prefix){const m=r.lastIndexOf(`
6
- `,a-1)+1;E=r.slice(0,m)+l.prefix+r.slice(m),V=a+l.prefix.length}else if(l.block)E=r.slice(0,a)+l.block+r.slice(s),V=a+l.block.length;else return;i.value=E,setTimeout(()=>{t.selectionStart=t.selectionEnd=V,t.focus()},0)}function J(){y.value&&x("publish",{title:c.value,slug:d.value||k(c.value),date:p.value,summary:v.value,excerpt:g.value||void 0,tags:o.value,readingTime:u.value,content:i.value,coverImage:n.coverImageUrl??f.value})}return(l,t)=>(e.openBlock(),e.createElementBlock("div",X,[e.createElementVNode("section",Y,[e.createElementVNode("div",Z,[t[7]||(t[7]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Title "),e.createElementVNode("span",{class:"be-required"},"*")],-1)),e.createElementVNode("input",{class:"be-input",type:"text",value:c.value,onInput:A,placeholder:"Post title…"},null,40,ee)]),e.createElementVNode("div",te,[t[8]||(t[8]=e.createElementVNode("label",{class:"be-label"},"Slug",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>d.value=a),onInput:t[1]||(t[1]=a=>N.value=!0),placeholder:"post-slug"},null,544),[[e.vModelText,d.value]])]),e.createElementVNode("div",le,[t[9]||(t[9]=e.createElementVNode("label",{class:"be-label"},"Date",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"date","onUpdate:modelValue":t[2]||(t[2]=a=>p.value=a)},null,512),[[e.vModelText,p.value]])]),e.createElementVNode("div",ae,[t[10]||(t[10]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Summary "),e.createElementVNode("span",{class:"be-required"},"*")],-1)),e.withDirectives(e.createElementVNode("textarea",{class:"be-input be-input--textarea",rows:"2","onUpdate:modelValue":t[3]||(t[3]=a=>v.value=a),placeholder:"Short description shown in blog listings…"},null,512),[[e.vModelText,v.value]])]),e.createElementVNode("div",ne,[t[11]||(t[11]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Excerpt "),e.createElementVNode("span",{class:"be-optional"},"(optional)")],-1)),e.withDirectives(e.createElementVNode("textarea",{class:"be-input be-input--textarea",rows:"2","onUpdate:modelValue":t[4]||(t[4]=a=>g.value=a),placeholder:"Longer teaser for social previews…"},null,512),[[e.vModelText,g.value]])]),e.createElementVNode("div",oe,[t[12]||(t[12]=e.createElementVNode("label",{class:"be-label"},"Tags",-1)),e.createElementVNode("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,a=>(e.openBlock(),e.createElementBlock("span",{key:a,class:"be-tag"},[e.createTextVNode(e.toDisplayString(a)+" ",1),e.createElementVNode("button",{type:"button",class:"be-tag__remove",onClick:s=>W(a),"aria-label":`Remove tag ${a}`},"×",8,se)]))),128)),e.withDirectives(e.createElementVNode("input",{class:"be-tag-input",type:"text","onUpdate:modelValue":t[5]||(t[5]=a=>b.value=a),onKeydown:z,placeholder:"Add tag, press Enter…"},null,544),[[e.vModelText,b.value]])])]),e.createElementVNode("div",re,[t[13]||(t[13]=e.createElementVNode("label",{class:"be-label"},"Reading time (min)",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input be-input--narrow",type:"number",min:"1","onUpdate:modelValue":t[6]||(t[6]=a=>u.value=a)},null,512),[[e.vModelText,u.value,void 0,{number:!0}]])]),e.createElementVNode("div",ce,[t[14]||(t[14]=e.createElementVNode("label",{class:"be-label"},"Cover Image",-1)),e.createElementVNode("div",ue,[_.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"be-cover__preview",src:_.value,alt:"Cover preview"},null,8,de)):e.createCommentVNode("",!0),e.createElementVNode("label",ve,[e.createTextVNode(e.toDisplayString(_.value?"Replace":"Choose image")+" ",1),e.createElementVNode("input",{type:"file",accept:"image/*",onChange:j,hidden:""},null,32)])])])]),e.createElementVNode("section",be,[e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(F,a=>e.createElementVNode("button",{key:a.label,type:"button",class:"be-toolbar__btn",title:a.label,onClick:s=>G(a)},e.toDisplayString(a.icon),9,pe)),64))]),e.createElementVNode("div",ge,[e.createElementVNode("div",fe,[t[15]||(t[15]=e.createElementVNode("div",{class:"be-pane__label"},"Markdown",-1)),e.createElementVNode("textarea",{ref_key:"textareaEl",ref:h,class:"be-pane__textarea",value:i.value,onInput:K,placeholder:"Write your post in markdown…",spellcheck:"true"},null,40,Ee)]),e.createElementVNode("div",Ve,[t[16]||(t[16]=e.createElementVNode("div",{class:"be-pane__label"},"Preview",-1)),e.createElementVNode("div",{class:"be-pane__preview prose",innerHTML:$.value},null,8,Ne)])])]),e.createElementVNode("footer",_e,[e.createElementVNode("span",xe,"~"+e.toDisplayString(u.value)+" min read",1),e.createElementVNode("button",{type:"button",class:"be-publish",disabled:!y.value,onClick:J}," Publish Post ",8,ke)])]))}});module.exports=we;
5
+ `}];function Z(){return new Date().toISOString().split("T")[0]}function P(l){return l.toLowerCase().replace(/[^a-z0-9\s-]/g,"").trim().replace(/\s+/g,"-").replace(/-+/g,"-")}function h(l){const t=l.trim().split(/\s+/).filter(Boolean).length;return Math.max(1,Math.ceil(t/200))}const d=e.ref(((D=n.initialPost)==null?void 0:D.title)??""),c=e.ref(((B=n.initialPost)==null?void 0:B.slug)??""),p=e.ref(((S=n.initialPost)==null?void 0:S.date)??Z()),v=e.ref(((M=n.initialPost)==null?void 0:M.summary)??""),f=e.ref(((U=n.initialPost)==null?void 0:U.excerpt)??""),o=e.ref([...((L=n.initialPost)==null?void 0:L.tags)??[]]),u=e.ref(((H=n.initialPost)==null?void 0:H.readingTime)??1),r=e.ref(((R=n.initialPost)==null?void 0:R.content)??""),g=e.ref((q=n.initialPost)==null?void 0:q.coverImage),b=e.ref(""),T=e.ref(!!n.initialPost),I=e.ref(null),V=e.ref(((O=(F=n.initialPost)==null?void 0:F.series)==null?void 0:O.id)??""),E=e.ref(((A=($=n.initialPost)==null?void 0:$.series)==null?void 0:A.title)??""),N=e.ref(((z=(K=n.initialPost)==null?void 0:K.series)==null?void 0:z.part)??1),x=e.ref(((W=(G=n.initialPost)==null?void 0:G.series)==null?void 0:W.total)??1);e.watch(()=>n.initialPost,l=>{var t,a,i,s;l&&(d.value=l.title,c.value=l.slug,p.value=l.date,v.value=l.summary,f.value=l.excerpt??"",o.value=[...l.tags],u.value=l.readingTime??1,r.value=l.content,g.value=l.coverImage,V.value=((t=l.series)==null?void 0:t.id)??"",E.value=((a=l.series)==null?void 0:a.title)??"",N.value=((i=l.series)==null?void 0:i.part)??1,x.value=((s=l.series)==null?void 0:s.total)??1,T.value=!0)});const ee=e.computed(()=>re.marked.parse(r.value)),C=e.computed(()=>d.value.trim().length>0&&v.value.trim().length>0&&r.value.trim().length>0),y=e.computed(()=>g.value??n.coverImageUrl);function te(l){d.value=l.target.value,T.value||(c.value=P(d.value)),u.value=h(r.value)}function le(l){r.value=l.target.value,u.value=h(r.value)}function ae(l){if(l.key==="Enter"||l.key===","){l.preventDefault();const t=b.value.trim().replace(/,/g,"").toLowerCase();t&&!o.value.includes(t)&&(o.value=[...o.value,t]),b.value=""}l.key==="Backspace"&&!b.value&&o.value.length&&(o.value=o.value.slice(0,-1))}function ne(l){o.value=o.value.filter(t=>t!==l)}function oe(l){var i;const t=(i=l.target.files)==null?void 0:i[0];if(!t)return;_("coverImageSelected",t);const a=new FileReader;a.onload=()=>{g.value=a.result},a.readAsDataURL(t)}function ie(l){const t=I.value;if(!t)return;const a=t.selectionStart,i=t.selectionEnd,s=r.value;let w,k;if(l.wrap){const[m,j]=l.wrap,J=s.slice(a,i)||"text";w=s.slice(0,a)+m+J+j+s.slice(i),k=a+m.length+J.length+j.length}else if(l.prefix){const m=s.lastIndexOf(`
6
+ `,a-1)+1;w=s.slice(0,m)+l.prefix+s.slice(m),k=a+l.prefix.length}else if(l.block)w=s.slice(0,a)+l.block+s.slice(i),k=a+l.block.length;else return;r.value=w,setTimeout(()=>{t.selectionStart=t.selectionEnd=k,t.focus()},0)}function se(){if(!C.value)return;const l=V.value.trim();_("publish",{title:d.value,slug:c.value||P(d.value),date:p.value,summary:v.value,excerpt:f.value||void 0,tags:o.value,readingTime:u.value,content:r.value,coverImage:n.coverImageUrl??g.value,series:l?{id:l,title:E.value.trim()||l,part:N.value,total:x.value}:void 0})}return(l,t)=>(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("section",ue,[e.createElementVNode("div",ce,[t[11]||(t[11]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Title "),e.createElementVNode("span",{class:"be-required"},"*")],-1)),e.createElementVNode("input",{class:"be-input",type:"text",value:d.value,onInput:te,placeholder:"Post title…"},null,40,ve)]),e.createElementVNode("div",be,[t[12]||(t[12]=e.createElementVNode("label",{class:"be-label"},"Slug",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"text","onUpdate:modelValue":t[0]||(t[0]=a=>c.value=a),onInput:t[1]||(t[1]=a=>T.value=!0),placeholder:"post-slug"},null,544),[[e.vModelText,c.value]])]),e.createElementVNode("div",me,[t[13]||(t[13]=e.createElementVNode("label",{class:"be-label"},"Date",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"date","onUpdate:modelValue":t[2]||(t[2]=a=>p.value=a)},null,512),[[e.vModelText,p.value]])]),e.createElementVNode("div",pe,[t[14]||(t[14]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Summary "),e.createElementVNode("span",{class:"be-required"},"*")],-1)),e.withDirectives(e.createElementVNode("textarea",{class:"be-input be-input--textarea",rows:"2","onUpdate:modelValue":t[3]||(t[3]=a=>v.value=a),placeholder:"Short description shown in blog listings…"},null,512),[[e.vModelText,v.value]])]),e.createElementVNode("div",fe,[t[15]||(t[15]=e.createElementVNode("label",{class:"be-label"},[e.createTextVNode("Excerpt "),e.createElementVNode("span",{class:"be-optional"},"(optional)")],-1)),e.withDirectives(e.createElementVNode("textarea",{class:"be-input be-input--textarea",rows:"2","onUpdate:modelValue":t[4]||(t[4]=a=>f.value=a),placeholder:"Longer teaser for social previews…"},null,512),[[e.vModelText,f.value]])]),e.createElementVNode("div",ge,[t[16]||(t[16]=e.createElementVNode("label",{class:"be-label"},"Tags",-1)),e.createElementVNode("div",Ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,a=>(e.openBlock(),e.createElementBlock("span",{key:a,class:"be-tag"},[e.createTextVNode(e.toDisplayString(a)+" ",1),e.createElementVNode("button",{type:"button",class:"be-tag__remove",onClick:i=>ne(a),"aria-label":`Remove tag ${a}`},"×",8,Ee)]))),128)),e.withDirectives(e.createElementVNode("input",{class:"be-tag-input",type:"text","onUpdate:modelValue":t[5]||(t[5]=a=>b.value=a),onKeydown:ae,placeholder:"Add tag, press Enter…"},null,544),[[e.vModelText,b.value]])])]),e.createElementVNode("div",Ne,[t[17]||(t[17]=e.createElementVNode("label",{class:"be-label"},"Reading time (min)",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input be-input--narrow",type:"number",min:"1","onUpdate:modelValue":t[6]||(t[6]=a=>u.value=a)},null,512),[[e.vModelText,u.value,void 0,{number:!0}]])]),e.createElementVNode("div",xe,[t[18]||(t[18]=e.createElementVNode("label",{class:"be-label"},"Cover Image",-1)),e.createElementVNode("div",we,[y.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"be-cover__preview",src:y.value,alt:"Cover preview"},null,8,ke)):e.createCommentVNode("",!0),e.createElementVNode("label",Te,[e.createTextVNode(e.toDisplayString(y.value?"Replace":"Choose image")+" ",1),e.createElementVNode("input",{type:"file",accept:"image/*",onChange:oe,hidden:""},null,32)])])]),t[23]||(t[23]=e.createElementVNode("div",{class:"be-field-group-label"},[e.createTextVNode("Series "),e.createElementVNode("span",{class:"be-optional"},"(optional)")],-1)),e.createElementVNode("div",ye,[t[19]||(t[19]=e.createElementVNode("label",{class:"be-label"},"Series ID",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"text","onUpdate:modelValue":t[7]||(t[7]=a=>V.value=a),placeholder:"e.g. go-backend"},null,512),[[e.vModelText,V.value]])]),e.createElementVNode("div",_e,[t[20]||(t[20]=e.createElementVNode("label",{class:"be-label"},"Series Title",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input",type:"text","onUpdate:modelValue":t[8]||(t[8]=a=>E.value=a),placeholder:"e.g. Go Backend Series"},null,512),[[e.vModelText,E.value]])]),e.createElementVNode("div",Pe,[e.createElementVNode("div",null,[t[21]||(t[21]=e.createElementVNode("label",{class:"be-label"},"Part",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input be-input--narrow",type:"number",min:"1","onUpdate:modelValue":t[9]||(t[9]=a=>N.value=a)},null,512),[[e.vModelText,N.value,void 0,{number:!0}]])]),e.createElementVNode("div",null,[t[22]||(t[22]=e.createElementVNode("label",{class:"be-label"},"Total Parts",-1)),e.withDirectives(e.createElementVNode("input",{class:"be-input be-input--narrow",type:"number",min:"1","onUpdate:modelValue":t[10]||(t[10]=a=>x.value=a)},null,512),[[e.vModelText,x.value,void 0,{number:!0}]])])])]),e.createElementVNode("section",he,[e.createElementVNode("div",Ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(Y,a=>e.createElementVNode("button",{key:a.label,type:"button",class:"be-toolbar__btn",title:a.label,onClick:i=>ie(a)},e.toDisplayString(a.icon),9,Ce)),64))]),e.createElementVNode("div",De,[e.createElementVNode("div",Be,[t[24]||(t[24]=e.createElementVNode("div",{class:"be-pane__label"},"Markdown",-1)),e.createElementVNode("textarea",{ref_key:"textareaEl",ref:I,class:"be-pane__textarea",value:r.value,onInput:le,placeholder:"Write your post in markdown…",spellcheck:"true"},null,40,Se)]),e.createElementVNode("div",Me,[t[25]||(t[25]=e.createElementVNode("div",{class:"be-pane__label"},"Preview",-1)),e.createElementVNode("div",{class:"be-pane__preview prose",innerHTML:ee.value},null,8,Ue)])])]),e.createElementVNode("footer",Le,[e.createElementVNode("span",He,"~"+e.toDisplayString(u.value)+" min read",1),e.createElementVNode("button",{type:"button",class:"be-publish",disabled:!C.value,onClick:se}," Publish Post ",8,Re)])]))}});module.exports=qe;
package/dist/index26.mjs CHANGED
@@ -1,19 +1,19 @@
1
- import { defineComponent as oe, ref as s, watch as ie, computed as E, openBlock as _, createElementBlock as w, createElementVNode as l, createTextVNode as x, withDirectives as v, vModelText as b, Fragment as W, renderList as j, toDisplayString as P, createCommentVNode as re } from "vue";
2
- import { marked as ue } from "./index75.mjs";
3
- const ce = { class: "be-root" }, de = { class: "be-meta" }, ve = { class: "be-field be-field--full" }, be = ["value"], pe = { class: "be-field" }, ge = { class: "be-field" }, fe = { class: "be-field be-field--full" }, me = { class: "be-field be-field--full" }, _e = { class: "be-field" }, we = { class: "be-tags" }, xe = ["onClick", "aria-label"], he = { class: "be-field" }, ke = { class: "be-field be-field--cover" }, ye = { class: "be-cover" }, Ce = ["src"], Ie = { class: "be-cover__pick" }, Pe = { class: "be-editor" }, Te = {
1
+ import { defineComponent as we, ref as n, watch as xe, computed as L, openBlock as x, createElementBlock as _, createElementVNode as l, createTextVNode as p, withDirectives as d, vModelText as v, Fragment as se, renderList as ne, toDisplayString as V, createCommentVNode as _e } from "vue";
2
+ import { marked as ke } from "./index76.mjs";
3
+ const ye = { class: "be-root" }, Pe = { class: "be-meta" }, Ie = { class: "be-field be-field--full" }, Ce = ["value"], Te = { class: "be-field" }, he = { class: "be-field" }, Se = { class: "be-field be-field--full" }, Ue = { class: "be-field be-field--full" }, Ve = { class: "be-field" }, Be = { class: "be-tags" }, Ee = ["onClick", "aria-label"], Le = { class: "be-field" }, De = { class: "be-field be-field--cover" }, He = { class: "be-cover" }, Re = ["src"], Me = { class: "be-cover__pick" }, Fe = { class: "be-field" }, Ne = { class: "be-field" }, Oe = { class: "be-field be-field--narrow-pair" }, $e = { class: "be-editor" }, qe = {
4
4
  class: "be-toolbar",
5
5
  role: "toolbar",
6
6
  "aria-label": "Formatting"
7
- }, Se = ["title", "onClick"], Ee = { class: "be-panes" }, Ue = { class: "be-pane be-pane--write" }, Be = ["value"], Le = { class: "be-pane be-pane--preview" }, Ve = ["innerHTML"], De = { class: "be-footer" }, He = { class: "be-footer__meta" }, Re = ["disabled"], Ne = /* @__PURE__ */ oe({
7
+ }, Ae = ["title", "onClick"], Ke = { class: "be-panes" }, ze = { class: "be-pane be-pane--write" }, Ge = ["value"], We = { class: "be-pane be-pane--preview" }, je = ["innerHTML"], Je = { class: "be-footer" }, Qe = { class: "be-footer__meta" }, Xe = ["disabled"], el = /* @__PURE__ */ we({
8
8
  __name: "BlogEditor",
9
9
  props: {
10
10
  initialPost: {},
11
11
  coverImageUrl: {}
12
12
  },
13
13
  emits: ["publish", "coverImageSelected"],
14
- setup(G, { emit: J }) {
15
- var H, R, M, F, N, O, $, q, A;
16
- const n = G, U = J, Q = [
14
+ setup(ie, { emit: oe }) {
15
+ var N, O, $, q, A, K, z, G, W, j, J, Q, X, Y, Z, ee, le;
16
+ const s = ie, D = oe, re = [
17
17
  { label: "Heading 2", icon: "H2", prefix: "## " },
18
18
  { label: "Heading 3", icon: "H3", prefix: "### " },
19
19
  { label: "Bold", icon: "B", wrap: ["**", "**"] },
@@ -31,253 +31,317 @@ const ce = { class: "be-root" }, de = { class: "be-meta" }, ve = { class: "be-fi
31
31
 
32
32
  ` }
33
33
  ];
34
- function X() {
34
+ function ue() {
35
35
  return (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
36
36
  }
37
- function B(t) {
37
+ function H(t) {
38
38
  return t.toLowerCase().replace(/[^a-z0-9\s-]/g, "").trim().replace(/\s+/g, "-").replace(/-+/g, "-");
39
39
  }
40
- function L(t) {
40
+ function R(t) {
41
41
  const e = t.trim().split(/\s+/).filter(Boolean).length;
42
42
  return Math.max(1, Math.ceil(e / 200));
43
43
  }
44
- const c = s(((H = n.initialPost) == null ? void 0 : H.title) ?? ""), p = s(((R = n.initialPost) == null ? void 0 : R.slug) ?? ""), h = s(((M = n.initialPost) == null ? void 0 : M.date) ?? X()), g = s(((F = n.initialPost) == null ? void 0 : F.summary) ?? ""), k = s(((N = n.initialPost) == null ? void 0 : N.excerpt) ?? ""), o = s([...((O = n.initialPost) == null ? void 0 : O.tags) ?? []]), d = s((($ = n.initialPost) == null ? void 0 : $.readingTime) ?? 1), i = s(((q = n.initialPost) == null ? void 0 : q.content) ?? ""), y = s((A = n.initialPost) == null ? void 0 : A.coverImage), f = s(""), T = s(!!n.initialPost), V = s(null);
45
- ie(() => n.initialPost, (t) => {
46
- t && (c.value = t.title, p.value = t.slug, h.value = t.date, g.value = t.summary, k.value = t.excerpt ?? "", o.value = [...t.tags], d.value = t.readingTime ?? 1, i.value = t.content, y.value = t.coverImage, T.value = !0);
44
+ const b = n(((N = s.initialPost) == null ? void 0 : N.title) ?? ""), m = n(((O = s.initialPost) == null ? void 0 : O.slug) ?? ""), k = n((($ = s.initialPost) == null ? void 0 : $.date) ?? ue()), g = n(((q = s.initialPost) == null ? void 0 : q.summary) ?? ""), y = n(((A = s.initialPost) == null ? void 0 : A.excerpt) ?? ""), i = n([...((K = s.initialPost) == null ? void 0 : K.tags) ?? []]), c = n(((z = s.initialPost) == null ? void 0 : z.readingTime) ?? 1), u = n(((G = s.initialPost) == null ? void 0 : G.content) ?? ""), P = n((W = s.initialPost) == null ? void 0 : W.coverImage), f = n(""), B = n(!!s.initialPost), M = n(null), I = n(((J = (j = s.initialPost) == null ? void 0 : j.series) == null ? void 0 : J.id) ?? ""), C = n(((X = (Q = s.initialPost) == null ? void 0 : Q.series) == null ? void 0 : X.title) ?? ""), T = n(((Z = (Y = s.initialPost) == null ? void 0 : Y.series) == null ? void 0 : Z.part) ?? 1), h = n(((le = (ee = s.initialPost) == null ? void 0 : ee.series) == null ? void 0 : le.total) ?? 1);
45
+ xe(() => s.initialPost, (t) => {
46
+ var e, a, o, r;
47
+ t && (b.value = t.title, m.value = t.slug, k.value = t.date, g.value = t.summary, y.value = t.excerpt ?? "", i.value = [...t.tags], c.value = t.readingTime ?? 1, u.value = t.content, P.value = t.coverImage, I.value = ((e = t.series) == null ? void 0 : e.id) ?? "", C.value = ((a = t.series) == null ? void 0 : a.title) ?? "", T.value = ((o = t.series) == null ? void 0 : o.part) ?? 1, h.value = ((r = t.series) == null ? void 0 : r.total) ?? 1, B.value = !0);
47
48
  });
48
- const Y = E(() => ue.parse(i.value)), D = E(() => c.value.trim().length > 0 && g.value.trim().length > 0 && i.value.trim().length > 0), S = E(() => y.value ?? n.coverImageUrl);
49
- function Z(t) {
50
- c.value = t.target.value, T.value || (p.value = B(c.value)), d.value = L(i.value);
49
+ const de = L(() => ke.parse(u.value)), F = L(() => b.value.trim().length > 0 && g.value.trim().length > 0 && u.value.trim().length > 0), E = L(() => P.value ?? s.coverImageUrl);
50
+ function ve(t) {
51
+ b.value = t.target.value, B.value || (m.value = H(b.value)), c.value = R(u.value);
51
52
  }
52
- function ee(t) {
53
- i.value = t.target.value, d.value = L(i.value);
53
+ function be(t) {
54
+ u.value = t.target.value, c.value = R(u.value);
54
55
  }
55
- function le(t) {
56
+ function ce(t) {
56
57
  if (t.key === "Enter" || t.key === ",") {
57
58
  t.preventDefault();
58
59
  const e = f.value.trim().replace(/,/g, "").toLowerCase();
59
- e && !o.value.includes(e) && (o.value = [...o.value, e]), f.value = "";
60
+ e && !i.value.includes(e) && (i.value = [...i.value, e]), f.value = "";
60
61
  }
61
- t.key === "Backspace" && !f.value && o.value.length && (o.value = o.value.slice(0, -1));
62
+ t.key === "Backspace" && !f.value && i.value.length && (i.value = i.value.slice(0, -1));
62
63
  }
63
- function te(t) {
64
- o.value = o.value.filter((e) => e !== t);
64
+ function pe(t) {
65
+ i.value = i.value.filter((e) => e !== t);
65
66
  }
66
- function ae(t) {
67
- var r;
68
- const e = (r = t.target.files) == null ? void 0 : r[0];
67
+ function me(t) {
68
+ var o;
69
+ const e = (o = t.target.files) == null ? void 0 : o[0];
69
70
  if (!e) return;
70
- U("coverImageSelected", e);
71
+ D("coverImageSelected", e);
71
72
  const a = new FileReader();
72
73
  a.onload = () => {
73
- y.value = a.result;
74
+ P.value = a.result;
74
75
  }, a.readAsDataURL(e);
75
76
  }
76
- function ne(t) {
77
- const e = V.value;
77
+ function ge(t) {
78
+ const e = M.value;
78
79
  if (!e) return;
79
- const a = e.selectionStart, r = e.selectionEnd, u = i.value;
80
- let C, I;
80
+ const a = e.selectionStart, o = e.selectionEnd, r = u.value;
81
+ let S, U;
81
82
  if (t.wrap) {
82
- const [m, K] = t.wrap, z = u.slice(a, r) || "text";
83
- C = u.slice(0, a) + m + z + K + u.slice(r), I = a + m.length + z.length + K.length;
83
+ const [w, te] = t.wrap, ae = r.slice(a, o) || "text";
84
+ S = r.slice(0, a) + w + ae + te + r.slice(o), U = a + w.length + ae.length + te.length;
84
85
  } else if (t.prefix) {
85
- const m = u.lastIndexOf(`
86
+ const w = r.lastIndexOf(`
86
87
  `, a - 1) + 1;
87
- C = u.slice(0, m) + t.prefix + u.slice(m), I = a + t.prefix.length;
88
+ S = r.slice(0, w) + t.prefix + r.slice(w), U = a + t.prefix.length;
88
89
  } else if (t.block)
89
- C = u.slice(0, a) + t.block + u.slice(r), I = a + t.block.length;
90
+ S = r.slice(0, a) + t.block + r.slice(o), U = a + t.block.length;
90
91
  else
91
92
  return;
92
- i.value = C, setTimeout(() => {
93
- e.selectionStart = e.selectionEnd = I, e.focus();
93
+ u.value = S, setTimeout(() => {
94
+ e.selectionStart = e.selectionEnd = U, e.focus();
94
95
  }, 0);
95
96
  }
96
- function se() {
97
- D.value && U("publish", {
98
- title: c.value,
99
- slug: p.value || B(c.value),
100
- date: h.value,
97
+ function fe() {
98
+ if (!F.value) return;
99
+ const t = I.value.trim();
100
+ D("publish", {
101
+ title: b.value,
102
+ slug: m.value || H(b.value),
103
+ date: k.value,
101
104
  summary: g.value,
102
- excerpt: k.value || void 0,
103
- tags: o.value,
104
- readingTime: d.value,
105
- content: i.value,
106
- coverImage: n.coverImageUrl ?? y.value
105
+ excerpt: y.value || void 0,
106
+ tags: i.value,
107
+ readingTime: c.value,
108
+ content: u.value,
109
+ coverImage: s.coverImageUrl ?? P.value,
110
+ series: t ? { id: t, title: C.value.trim() || t, part: T.value, total: h.value } : void 0
107
111
  });
108
112
  }
109
- return (t, e) => (_(), w("div", ce, [
110
- l("section", de, [
111
- l("div", ve, [
112
- e[7] || (e[7] = l("label", { class: "be-label" }, [
113
- x("Title "),
113
+ return (t, e) => (x(), _("div", ye, [
114
+ l("section", Pe, [
115
+ l("div", Ie, [
116
+ e[11] || (e[11] = l("label", { class: "be-label" }, [
117
+ p("Title "),
114
118
  l("span", { class: "be-required" }, "*")
115
119
  ], -1)),
116
120
  l("input", {
117
121
  class: "be-input",
118
122
  type: "text",
119
- value: c.value,
120
- onInput: Z,
123
+ value: b.value,
124
+ onInput: ve,
121
125
  placeholder: "Post title…"
122
- }, null, 40, be)
126
+ }, null, 40, Ce)
123
127
  ]),
124
- l("div", pe, [
125
- e[8] || (e[8] = l("label", { class: "be-label" }, "Slug", -1)),
126
- v(l("input", {
128
+ l("div", Te, [
129
+ e[12] || (e[12] = l("label", { class: "be-label" }, "Slug", -1)),
130
+ d(l("input", {
127
131
  class: "be-input",
128
132
  type: "text",
129
- "onUpdate:modelValue": e[0] || (e[0] = (a) => p.value = a),
130
- onInput: e[1] || (e[1] = (a) => T.value = !0),
133
+ "onUpdate:modelValue": e[0] || (e[0] = (a) => m.value = a),
134
+ onInput: e[1] || (e[1] = (a) => B.value = !0),
131
135
  placeholder: "post-slug"
132
136
  }, null, 544), [
133
- [b, p.value]
137
+ [v, m.value]
134
138
  ])
135
139
  ]),
136
- l("div", ge, [
137
- e[9] || (e[9] = l("label", { class: "be-label" }, "Date", -1)),
138
- v(l("input", {
140
+ l("div", he, [
141
+ e[13] || (e[13] = l("label", { class: "be-label" }, "Date", -1)),
142
+ d(l("input", {
139
143
  class: "be-input",
140
144
  type: "date",
141
- "onUpdate:modelValue": e[2] || (e[2] = (a) => h.value = a)
145
+ "onUpdate:modelValue": e[2] || (e[2] = (a) => k.value = a)
142
146
  }, null, 512), [
143
- [b, h.value]
147
+ [v, k.value]
144
148
  ])
145
149
  ]),
146
- l("div", fe, [
147
- e[10] || (e[10] = l("label", { class: "be-label" }, [
148
- x("Summary "),
150
+ l("div", Se, [
151
+ e[14] || (e[14] = l("label", { class: "be-label" }, [
152
+ p("Summary "),
149
153
  l("span", { class: "be-required" }, "*")
150
154
  ], -1)),
151
- v(l("textarea", {
155
+ d(l("textarea", {
152
156
  class: "be-input be-input--textarea",
153
157
  rows: "2",
154
158
  "onUpdate:modelValue": e[3] || (e[3] = (a) => g.value = a),
155
159
  placeholder: "Short description shown in blog listings…"
156
160
  }, null, 512), [
157
- [b, g.value]
161
+ [v, g.value]
158
162
  ])
159
163
  ]),
160
- l("div", me, [
161
- e[11] || (e[11] = l("label", { class: "be-label" }, [
162
- x("Excerpt "),
164
+ l("div", Ue, [
165
+ e[15] || (e[15] = l("label", { class: "be-label" }, [
166
+ p("Excerpt "),
163
167
  l("span", { class: "be-optional" }, "(optional)")
164
168
  ], -1)),
165
- v(l("textarea", {
169
+ d(l("textarea", {
166
170
  class: "be-input be-input--textarea",
167
171
  rows: "2",
168
- "onUpdate:modelValue": e[4] || (e[4] = (a) => k.value = a),
172
+ "onUpdate:modelValue": e[4] || (e[4] = (a) => y.value = a),
169
173
  placeholder: "Longer teaser for social previews…"
170
174
  }, null, 512), [
171
- [b, k.value]
175
+ [v, y.value]
172
176
  ])
173
177
  ]),
174
- l("div", _e, [
175
- e[12] || (e[12] = l("label", { class: "be-label" }, "Tags", -1)),
176
- l("div", we, [
177
- (_(!0), w(W, null, j(o.value, (a) => (_(), w("span", {
178
+ l("div", Ve, [
179
+ e[16] || (e[16] = l("label", { class: "be-label" }, "Tags", -1)),
180
+ l("div", Be, [
181
+ (x(!0), _(se, null, ne(i.value, (a) => (x(), _("span", {
178
182
  key: a,
179
183
  class: "be-tag"
180
184
  }, [
181
- x(P(a) + " ", 1),
185
+ p(V(a) + " ", 1),
182
186
  l("button", {
183
187
  type: "button",
184
188
  class: "be-tag__remove",
185
- onClick: (r) => te(a),
189
+ onClick: (o) => pe(a),
186
190
  "aria-label": `Remove tag ${a}`
187
- }, "×", 8, xe)
191
+ }, "×", 8, Ee)
188
192
  ]))), 128)),
189
- v(l("input", {
193
+ d(l("input", {
190
194
  class: "be-tag-input",
191
195
  type: "text",
192
196
  "onUpdate:modelValue": e[5] || (e[5] = (a) => f.value = a),
193
- onKeydown: le,
197
+ onKeydown: ce,
194
198
  placeholder: "Add tag, press Enter…"
195
199
  }, null, 544), [
196
- [b, f.value]
200
+ [v, f.value]
197
201
  ])
198
202
  ])
199
203
  ]),
200
- l("div", he, [
201
- e[13] || (e[13] = l("label", { class: "be-label" }, "Reading time (min)", -1)),
202
- v(l("input", {
204
+ l("div", Le, [
205
+ e[17] || (e[17] = l("label", { class: "be-label" }, "Reading time (min)", -1)),
206
+ d(l("input", {
203
207
  class: "be-input be-input--narrow",
204
208
  type: "number",
205
209
  min: "1",
206
- "onUpdate:modelValue": e[6] || (e[6] = (a) => d.value = a)
210
+ "onUpdate:modelValue": e[6] || (e[6] = (a) => c.value = a)
207
211
  }, null, 512), [
208
212
  [
209
- b,
210
- d.value,
213
+ v,
214
+ c.value,
211
215
  void 0,
212
216
  { number: !0 }
213
217
  ]
214
218
  ])
215
219
  ]),
216
- l("div", ke, [
217
- e[14] || (e[14] = l("label", { class: "be-label" }, "Cover Image", -1)),
218
- l("div", ye, [
219
- S.value ? (_(), w("img", {
220
+ l("div", De, [
221
+ e[18] || (e[18] = l("label", { class: "be-label" }, "Cover Image", -1)),
222
+ l("div", He, [
223
+ E.value ? (x(), _("img", {
220
224
  key: 0,
221
225
  class: "be-cover__preview",
222
- src: S.value,
226
+ src: E.value,
223
227
  alt: "Cover preview"
224
- }, null, 8, Ce)) : re("", !0),
225
- l("label", Ie, [
226
- x(P(S.value ? "Replace" : "Choose image") + " ", 1),
228
+ }, null, 8, Re)) : _e("", !0),
229
+ l("label", Me, [
230
+ p(V(E.value ? "Replace" : "Choose image") + " ", 1),
227
231
  l("input", {
228
232
  type: "file",
229
233
  accept: "image/*",
230
- onChange: ae,
234
+ onChange: me,
231
235
  hidden: ""
232
236
  }, null, 32)
233
237
  ])
234
238
  ])
239
+ ]),
240
+ e[23] || (e[23] = l("div", { class: "be-field-group-label" }, [
241
+ p("Series "),
242
+ l("span", { class: "be-optional" }, "(optional)")
243
+ ], -1)),
244
+ l("div", Fe, [
245
+ e[19] || (e[19] = l("label", { class: "be-label" }, "Series ID", -1)),
246
+ d(l("input", {
247
+ class: "be-input",
248
+ type: "text",
249
+ "onUpdate:modelValue": e[7] || (e[7] = (a) => I.value = a),
250
+ placeholder: "e.g. go-backend"
251
+ }, null, 512), [
252
+ [v, I.value]
253
+ ])
254
+ ]),
255
+ l("div", Ne, [
256
+ e[20] || (e[20] = l("label", { class: "be-label" }, "Series Title", -1)),
257
+ d(l("input", {
258
+ class: "be-input",
259
+ type: "text",
260
+ "onUpdate:modelValue": e[8] || (e[8] = (a) => C.value = a),
261
+ placeholder: "e.g. Go Backend Series"
262
+ }, null, 512), [
263
+ [v, C.value]
264
+ ])
265
+ ]),
266
+ l("div", Oe, [
267
+ l("div", null, [
268
+ e[21] || (e[21] = l("label", { class: "be-label" }, "Part", -1)),
269
+ d(l("input", {
270
+ class: "be-input be-input--narrow",
271
+ type: "number",
272
+ min: "1",
273
+ "onUpdate:modelValue": e[9] || (e[9] = (a) => T.value = a)
274
+ }, null, 512), [
275
+ [
276
+ v,
277
+ T.value,
278
+ void 0,
279
+ { number: !0 }
280
+ ]
281
+ ])
282
+ ]),
283
+ l("div", null, [
284
+ e[22] || (e[22] = l("label", { class: "be-label" }, "Total Parts", -1)),
285
+ d(l("input", {
286
+ class: "be-input be-input--narrow",
287
+ type: "number",
288
+ min: "1",
289
+ "onUpdate:modelValue": e[10] || (e[10] = (a) => h.value = a)
290
+ }, null, 512), [
291
+ [
292
+ v,
293
+ h.value,
294
+ void 0,
295
+ { number: !0 }
296
+ ]
297
+ ])
298
+ ])
235
299
  ])
236
300
  ]),
237
- l("section", Pe, [
238
- l("div", Te, [
239
- (_(), w(W, null, j(Q, (a) => l("button", {
301
+ l("section", $e, [
302
+ l("div", qe, [
303
+ (x(), _(se, null, ne(re, (a) => l("button", {
240
304
  key: a.label,
241
305
  type: "button",
242
306
  class: "be-toolbar__btn",
243
307
  title: a.label,
244
- onClick: (r) => ne(a)
245
- }, P(a.icon), 9, Se)), 64))
308
+ onClick: (o) => ge(a)
309
+ }, V(a.icon), 9, Ae)), 64))
246
310
  ]),
247
- l("div", Ee, [
248
- l("div", Ue, [
249
- e[15] || (e[15] = l("div", { class: "be-pane__label" }, "Markdown", -1)),
311
+ l("div", Ke, [
312
+ l("div", ze, [
313
+ e[24] || (e[24] = l("div", { class: "be-pane__label" }, "Markdown", -1)),
250
314
  l("textarea", {
251
315
  ref_key: "textareaEl",
252
- ref: V,
316
+ ref: M,
253
317
  class: "be-pane__textarea",
254
- value: i.value,
255
- onInput: ee,
318
+ value: u.value,
319
+ onInput: be,
256
320
  placeholder: "Write your post in markdown…",
257
321
  spellcheck: "true"
258
- }, null, 40, Be)
322
+ }, null, 40, Ge)
259
323
  ]),
260
- l("div", Le, [
261
- e[16] || (e[16] = l("div", { class: "be-pane__label" }, "Preview", -1)),
324
+ l("div", We, [
325
+ e[25] || (e[25] = l("div", { class: "be-pane__label" }, "Preview", -1)),
262
326
  l("div", {
263
327
  class: "be-pane__preview prose",
264
- innerHTML: Y.value
265
- }, null, 8, Ve)
328
+ innerHTML: de.value
329
+ }, null, 8, je)
266
330
  ])
267
331
  ])
268
332
  ]),
269
- l("footer", De, [
270
- l("span", He, "~" + P(d.value) + " min read", 1),
333
+ l("footer", Je, [
334
+ l("span", Qe, "~" + V(c.value) + " min read", 1),
271
335
  l("button", {
272
336
  type: "button",
273
337
  class: "be-publish",
274
- disabled: !D.value,
275
- onClick: se
276
- }, " Publish Post ", 8, Re)
338
+ disabled: !F.value,
339
+ onClick: fe
340
+ }, " Publish Post ", 8, Xe)
277
341
  ])
278
342
  ]));
279
343
  }
280
344
  });
281
345
  export {
282
- Ne as default
346
+ el as default
283
347
  };