@m2s2/vue-lib 2.5.0 → 2.5.2

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.
Files changed (61) hide show
  1. package/dist/index14.cjs +1 -1
  2. package/dist/index14.mjs +1 -1
  3. package/dist/index2.cjs +1 -1
  4. package/dist/index2.mjs +12 -12
  5. package/dist/index24.cjs +1 -1
  6. package/dist/index24.mjs +20 -26
  7. package/dist/index26.cjs +2 -6
  8. package/dist/index26.mjs +147 -173
  9. package/dist/index28.cjs +1 -1
  10. package/dist/index28.mjs +33 -32
  11. package/dist/index30.cjs +1 -1
  12. package/dist/index30.mjs +29 -28
  13. package/dist/index32.cjs +1 -1
  14. package/dist/index32.mjs +1 -1
  15. package/dist/index36.cjs +1 -1
  16. package/dist/index36.mjs +1 -1
  17. package/dist/index40.cjs +1 -1
  18. package/dist/index40.mjs +4 -4
  19. package/dist/index46.cjs +1 -1
  20. package/dist/index46.mjs +2 -2
  21. package/dist/index77.cjs +1 -1
  22. package/dist/index77.mjs +22 -2
  23. package/dist/index78.cjs +5 -0
  24. package/dist/index78.mjs +21 -0
  25. package/dist/index79.cjs +1 -0
  26. package/dist/index79.mjs +8 -0
  27. package/dist/index8.cjs +1 -1
  28. package/dist/index8.mjs +5 -5
  29. package/dist/index80.cjs +1 -0
  30. package/dist/index80.mjs +6 -0
  31. package/dist/index81.cjs +1 -0
  32. package/dist/index81.mjs +4 -0
  33. package/dist/vue-lib/src/BrandConfigurator.vue.d.ts.map +1 -1
  34. package/dist/vue-lib/src/Welcome.vue.d.ts.map +1 -1
  35. package/dist/vue-lib/src/components/BlogEditor/BlogEditor.vue.d.ts +4 -1
  36. package/dist/vue-lib/src/components/BlogEditor/BlogEditor.vue.d.ts.map +1 -1
  37. package/dist/vue-lib/src/components/Chat/Chat.vue.d.ts +2 -0
  38. package/dist/vue-lib/src/components/Chat/Chat.vue.d.ts.map +1 -1
  39. package/dist/vue-lib/src/components/CtaSection/CtaSection.vue.d.ts.map +1 -1
  40. package/dist/vue-lib/src/components/DataTable/DataTable.vue.d.ts.map +1 -1
  41. package/dist/vue-lib/src/components/Dialog/Dialog.vue.d.ts.map +1 -1
  42. package/dist/vue-lib/src/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
  43. package/dist/vue-lib/src/components/Dropdown/DropdownItem.vue.d.ts.map +1 -1
  44. package/dist/vue-lib/src/components/Footer/Footer.vue.d.ts.map +1 -1
  45. package/dist/vue-lib/src/components/Footer/SocialIcon.vue.d.ts.map +1 -1
  46. package/dist/vue-lib/src/components/LoadingButton/LoadingButton.vue.d.ts +1 -0
  47. package/dist/vue-lib/src/components/LoadingButton/LoadingButton.vue.d.ts.map +1 -1
  48. package/dist/vue-lib/src/components/Navbar/Navbar.vue.d.ts.map +1 -1
  49. package/dist/vue-lib/src/components/PageHeader/PageHeader.vue.d.ts.map +1 -1
  50. package/dist/vue-lib/src/components/Panel/Panel.vue.d.ts.map +1 -1
  51. package/dist/vue-lib/src/components/ProcessSteps/ProcessSteps.vue.d.ts.map +1 -1
  52. package/dist/vue-lib/src/components/SectionHeader/SectionHeader.vue.d.ts.map +1 -1
  53. package/dist/vue-lib/src/components/StatRow/StatRow.vue.d.ts.map +1 -1
  54. package/dist/vue-lib/src/components/StatusBadge/StatusBadge.vue.d.ts +1 -0
  55. package/dist/vue-lib/src/components/StatusBadge/StatusBadge.vue.d.ts.map +1 -1
  56. package/dist/vue-lib/src/components/SubscribeForm/SubscribeForm.vue.d.ts +3 -0
  57. package/dist/vue-lib/src/components/SubscribeForm/SubscribeForm.vue.d.ts.map +1 -1
  58. package/dist/vue-lib/src/components/cards/BlogCard/BlogCard.vue.d.ts.map +1 -1
  59. package/dist/vue-lib/src/components/cards/FeatureCard/FeatureCard.vue.d.ts.map +1 -1
  60. package/dist/vue-lib.css +1 -1
  61. package/package.json +13 -7
package/dist/index14.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),o={class:"ps-steps"},c={class:"ps-step"},r={class:"ps-num"},l={class:"ps-name"},a={class:"ps-desc"},i={key:0,class:"ps-divider","aria-hidden":"true"},p=e.defineComponent({__name:"ProcessSteps",props:{steps:{}},setup(s){return(m,d)=>(e.openBlock(),e.createElementBlock("ol",o,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.num},[e.createElementVNode("li",c,[e.createElementVNode("span",r,e.toDisplayString(t.num),1),e.createElementVNode("span",l,e.toDisplayString(t.name),1),e.createElementVNode("span",a,e.toDisplayString(t.desc),1)]),n<s.steps.length-1?(e.openBlock(),e.createElementBlock("li",i,"→")):e.createCommentVNode("",!0)],64))),128))]))}});module.exports=p;
1
+ "use strict";const e=require("vue"),o={class:"ps-steps"},c={class:"ps-step"},r={class:"ps-num"},l={class:"ps-name"},a={class:"ps-desc"},i={key:0,class:"ps-divider","aria-hidden":"true"},p=e.defineComponent({__name:"ProcessSteps",props:{steps:{}},setup(s){return(m,d)=>(e.openBlock(),e.createElementBlock("ol",o,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.steps,(t,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.num},[e.createElementVNode("li",c,[e.createElementVNode("span",r,e.toDisplayString(t.num),1),e.createElementVNode("span",l,e.toDisplayString(t.name),1),e.createElementVNode("span",a,e.toDisplayString(t.desc),1)]),n<s.steps.length-1?(e.openBlock(),e.createElementBlock("li",i," ")):e.createCommentVNode("",!0)],64))),128))]))}});module.exports=p;
package/dist/index14.mjs CHANGED
@@ -18,7 +18,7 @@ const d = { class: "ps-steps" }, _ = { class: "ps-step" }, m = { class: "ps-num"
18
18
  n("span", u, o(e.name), 1),
19
19
  n("span", h, o(e.desc), 1)
20
20
  ]),
21
- r < c.steps.length - 1 ? (s(), t("li", f, "→")) : p("", !0)
21
+ r < c.steps.length - 1 ? (s(), t("li", f, " ")) : p("", !0)
22
22
  ], 64))), 128))
23
23
  ]));
24
24
  }
package/dist/index2.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),p={class:"m2s2-chat"},B=["aria-label"],E={key:0,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true"},y={key:1,width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},V=["aria-label"],f={class:"chat-header"},N=["src"],w={class:"chat-header__text"},_={class:"chat-header__title"},C={key:0,class:"chat-header__subtitle"},b={key:0,class:"chat-empty"},x={key:0,class:"chat-avatar chat-avatar--assistant"},A=["src"],M={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},U={class:"chat-message__text"},S={key:1,class:"chat-avatar chat-avatar--user"},D=["src"],L={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},z={key:1,class:"chat-message chat-message--assistant"},j={class:"chat-avatar chat-avatar--assistant"},H=["src"],T={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},q={key:0,class:"chat-cta"},F=["href"],K={class:"chat-input-row"},R=["placeholder","disabled"],$=["disabled"],O={key:0,class:"chat-error"},G=e.defineComponent({__name:"Chat",props:{sendMessage:{},title:{default:"Architecture Advisor"},subtitle:{default:"Ask anything about software architecture, cloud design, or engineering decisions."},placeholder:{default:"Ask a question..."},maxMessages:{default:6},ctaLabel:{default:"Start a Conversation"},ctaUrl:{default:"/contact"},userAvatarUrl:{},assistantAvatarUrl:{}},setup(a){const u=a,r=e.ref(!1),n=e.ref([]),s=e.ref("idle"),c=e.ref(""),i=e.ref(null),m=e.computed(()=>n.value.filter(l=>l.role==="user").length),d=e.computed(()=>m.value>=u.maxMessages);async function h(){await e.nextTick(),i.value&&(i.value.scrollTop=i.value.scrollHeight)}async function k(){const l=c.value.trim();if(!l||s.value==="sending"||d.value)return;c.value="";const t=[...n.value,{role:"user",content:l}];n.value=t,s.value="sending",await h();try{const o=await u.sendMessage(t);n.value=[...n.value,{role:"assistant",content:o}],s.value="idle",await h()}catch{s.value="error"}}function v(l){l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),k())}return(l,t)=>(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("button",{class:"chat-toggle","aria-label":r.value?"Close chat":"Open chat",onClick:t[0]||(t[0]=o=>r.value=!r.value)},[r.value?(e.openBlock(),e.createElementBlock("svg",E,[...t[2]||(t[2]=[e.createElementVNode("path",{d:"M15 5L5 15M5 5l10 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",y,[...t[3]||(t[3]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,B),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chat-panel",role:"dialog","aria-label":a.title},[e.createElementVNode("div",f,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,class:"chat-header__avatar",src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,N)):e.createCommentVNode("",!0),e.createElementVNode("div",w,[e.createElementVNode("p",_,e.toDisplayString(a.title),1),n.value.length===0?(e.openBlock(),e.createElementBlock("p",C,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:"chat-messages",ref_key:"listEl",ref:i},[n.value.length===0?(e.openBlock(),e.createElementBlock("p",b,"Send a message to get started.")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(o,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:e.normalizeClass(["chat-message",`chat-message--${o.role}`])},[o.role==="assistant"?(e.openBlock(),e.createElementBlock("span",x,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,A)):(e.openBlock(),e.createElementBlock("svg",M,[...t[4]||(t[4]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))])):e.createCommentVNode("",!0),e.createElementVNode("p",U,e.toDisplayString(o.content),1),o.role==="user"?(e.openBlock(),e.createElementBlock("span",S,[a.userAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.userAvatarUrl,alt:"","aria-hidden":"true"},null,8,D)):(e.openBlock(),e.createElementBlock("svg",L,[...t[5]||(t[5]=[e.createElementVNode("circle",{cx:"12",cy:"8",r:"4",stroke:"currentColor","stroke-width":"2"},null,-1),e.createElementVNode("path",{d:"M4 20c0-4 3.6-7 8-7s8 3 8 7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)])]))])):e.createCommentVNode("",!0)],2))),128)),s.value==="sending"?(e.openBlock(),e.createElementBlock("div",z,[e.createElementVNode("span",j,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,H)):(e.openBlock(),e.createElementBlock("svg",T,[...t[6]||(t[6]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))]),t[7]||(t[7]=e.createElementVNode("span",{class:"chat-typing"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")],-1))])):e.createCommentVNode("",!0)],512),d.value?(e.openBlock(),e.createElementBlock("div",q,[t[8]||(t[8]=e.createElementVNode("p",{class:"chat-cta__text"},"Ready to go deeper? Let's talk through your specific situation.",-1)),e.createElementVNode("a",{class:"chat-cta__btn",href:a.ctaUrl},e.toDisplayString(a.ctaLabel),9,F)])):e.createCommentVNode("",!0),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",K,[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":t[1]||(t[1]=o=>c.value=o),class:"chat-input",rows:1,placeholder:a.placeholder,disabled:s.value==="sending",onKeydown:v},null,40,R),[[e.vModelText,c.value]]),e.createElementVNode("button",{class:"chat-send",disabled:!c.value.trim()||s.value==="sending","aria-label":"Send",onClick:k},[...t[9]||(t[9]=[e.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[e.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,$)]),s.value==="error"?(e.openBlock(),e.createElementBlock("p",O,"Something went wrong — please try again.")):e.createCommentVNode("",!0)],64))],8,V)):e.createCommentVNode("",!0)]))}});module.exports=G;
1
+ "use strict";const e=require("vue"),p={class:"m2s2-chat"},B=["aria-label"],E={key:0,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":"true"},f={key:1,width:"22",height:"22",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},y=["aria-label"],V={class:"chat-header"},N=["src"],w={class:"chat-header__text"},_={class:"chat-header__title"},C={key:0,class:"chat-header__subtitle"},b={key:0,class:"chat-empty"},x={key:0,class:"chat-avatar chat-avatar--assistant"},A=["src"],M={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},U={class:"chat-message__text"},S={key:1,class:"chat-avatar chat-avatar--user"},D=["src"],L={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},z={key:1,class:"chat-message chat-message--assistant"},j={class:"chat-avatar chat-avatar--assistant"},H=["src"],T={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},q={key:0,class:"chat-cta"},F=["href"],K={class:"chat-input-row"},R=["placeholder","disabled"],$=["disabled"],O={key:0,class:"chat-error"},G=e.defineComponent({__name:"Chat",props:{sendMessage:{},title:{default:"Architecture Advisor"},subtitle:{default:"Ask anything about software architecture, cloud design, or engineering decisions."},placeholder:{default:"Ask a question..."},maxMessages:{default:6},ctaLabel:{default:"Start a Conversation"},ctaUrl:{default:"/contact"},userAvatarUrl:{default:void 0},assistantAvatarUrl:{default:void 0}},setup(a){const u=a,r=e.ref(!1),n=e.ref([]),s=e.ref("idle"),c=e.ref(""),i=e.ref(null),m=e.computed(()=>n.value.filter(l=>l.role==="user").length),d=e.computed(()=>m.value>=u.maxMessages);async function h(){await e.nextTick(),i.value&&(i.value.scrollTop=i.value.scrollHeight)}async function k(){const l=c.value.trim();if(!l||s.value==="sending"||d.value)return;c.value="";const t=[...n.value,{role:"user",content:l}];n.value=t,s.value="sending",await h();try{const o=await u.sendMessage(t);n.value=[...n.value,{role:"assistant",content:o}],s.value="idle",await h()}catch{s.value="error"}}function v(l){l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),k())}return(l,t)=>(e.openBlock(),e.createElementBlock("div",p,[e.createElementVNode("button",{class:"chat-toggle","aria-label":r.value?"Close chat":"Open chat",onClick:t[0]||(t[0]=o=>r.value=!r.value)},[r.value?(e.openBlock(),e.createElementBlock("svg",E,[...t[2]||(t[2]=[e.createElementVNode("path",{d:"M15 5L5 15M5 5l10 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",f,[...t[3]||(t[3]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))],8,B),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"chat-panel",role:"dialog","aria-label":a.title},[e.createElementVNode("div",V,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,class:"chat-header__avatar",src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,N)):e.createCommentVNode("",!0),e.createElementVNode("div",w,[e.createElementVNode("p",_,e.toDisplayString(a.title),1),n.value.length===0?(e.openBlock(),e.createElementBlock("p",C,e.toDisplayString(a.subtitle),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{ref_key:"listEl",ref:i,class:"chat-messages"},[n.value.length===0?(e.openBlock(),e.createElementBlock("p",b," Send a message to get started. ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(o,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:e.normalizeClass(["chat-message",`chat-message--${o.role}`])},[o.role==="assistant"?(e.openBlock(),e.createElementBlock("span",x,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,A)):(e.openBlock(),e.createElementBlock("svg",M,[...t[4]||(t[4]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))])):e.createCommentVNode("",!0),e.createElementVNode("p",U,e.toDisplayString(o.content),1),o.role==="user"?(e.openBlock(),e.createElementBlock("span",S,[a.userAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.userAvatarUrl,alt:"","aria-hidden":"true"},null,8,D)):(e.openBlock(),e.createElementBlock("svg",L,[...t[5]||(t[5]=[e.createElementVNode("circle",{cx:"12",cy:"8",r:"4",stroke:"currentColor","stroke-width":"2"},null,-1),e.createElementVNode("path",{d:"M4 20c0-4 3.6-7 8-7s8 3 8 7",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},null,-1)])]))])):e.createCommentVNode("",!0)],2))),128)),s.value==="sending"?(e.openBlock(),e.createElementBlock("div",z,[e.createElementVNode("span",j,[a.assistantAvatarUrl?(e.openBlock(),e.createElementBlock("img",{key:0,src:a.assistantAvatarUrl,alt:"","aria-hidden":"true"},null,8,H)):(e.openBlock(),e.createElementBlock("svg",T,[...t[6]||(t[6]=[e.createElementVNode("path",{d:"M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])]))]),t[7]||(t[7]=e.createElementVNode("span",{class:"chat-typing"},[e.createElementVNode("span"),e.createElementVNode("span"),e.createElementVNode("span")],-1))])):e.createCommentVNode("",!0)],512),d.value?(e.openBlock(),e.createElementBlock("div",q,[t[8]||(t[8]=e.createElementVNode("p",{class:"chat-cta__text"}," Ready to go deeper? Let's talk through your specific situation. ",-1)),e.createElementVNode("a",{class:"chat-cta__btn",href:a.ctaUrl},e.toDisplayString(a.ctaLabel),9,F)])):e.createCommentVNode("",!0),d.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",K,[e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":t[1]||(t[1]=o=>c.value=o),class:"chat-input",rows:1,placeholder:a.placeholder,disabled:s.value==="sending",onKeydown:v},null,40,R),[[e.vModelText,c.value]]),e.createElementVNode("button",{class:"chat-send",disabled:!c.value.trim()||s.value==="sending","aria-label":"Send",onClick:k},[...t[9]||(t[9]=[e.createElementVNode("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[e.createElementVNode("path",{d:"M22 2L11 13M22 2l-7 20-4-9-9-4 20-7z",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,$)]),s.value==="error"?(e.openBlock(),e.createElementBlock("p",O," Something went wrong — please try again. ")):e.createCommentVNode("",!0)],64))],8,y)):e.createCommentVNode("",!0)]))}});module.exports=G;
package/dist/index2.mjs CHANGED
@@ -65,12 +65,12 @@ const S = { class: "m2s2-chat" }, V = ["aria-label"], z = {
65
65
  maxMessages: { default: 6 },
66
66
  ctaLabel: { default: "Start a Conversation" },
67
67
  ctaUrl: { default: "/contact" },
68
- userAvatarUrl: {},
69
- assistantAvatarUrl: {}
68
+ userAvatarUrl: { default: void 0 },
69
+ assistantAvatarUrl: { default: void 0 }
70
70
  },
71
71
  setup(l) {
72
- const y = l, c = h(!1), o = h([]), d = h("idle"), u = h(""), v = h(null), p = w(() => o.value.filter((r) => r.role === "user").length), g = w(() => p.value >= y.maxMessages);
73
- async function f() {
72
+ const f = l, c = h(!1), o = h([]), d = h("idle"), u = h(""), v = h(null), p = w(() => o.value.filter((r) => r.role === "user").length), g = w(() => p.value >= f.maxMessages);
73
+ async function y() {
74
74
  await L(), v.value && (v.value.scrollTop = v.value.scrollHeight);
75
75
  }
76
76
  async function m() {
@@ -78,10 +78,10 @@ const S = { class: "m2s2-chat" }, V = ["aria-label"], z = {
78
78
  if (!r || d.value === "sending" || g.value) return;
79
79
  u.value = "";
80
80
  const e = [...o.value, { role: "user", content: r }];
81
- o.value = e, d.value = "sending", await f();
81
+ o.value = e, d.value = "sending", await y();
82
82
  try {
83
- const i = await y.sendMessage(e);
84
- o.value = [...o.value, { role: "assistant", content: i }], d.value = "idle", await f();
83
+ const i = await f.sendMessage(e);
84
+ o.value = [...o.value, { role: "assistant", content: i }], d.value = "idle", await y();
85
85
  } catch {
86
86
  d.value = "error";
87
87
  }
@@ -132,11 +132,11 @@ const S = { class: "m2s2-chat" }, V = ["aria-label"], z = {
132
132
  ])
133
133
  ]),
134
134
  t("div", {
135
- class: "chat-messages",
136
135
  ref_key: "listEl",
137
- ref: v
136
+ ref: v,
137
+ class: "chat-messages"
138
138
  }, [
139
- o.value.length === 0 ? (a(), s("p", R, "Send a message to get started.")) : n("", !0),
139
+ o.value.length === 0 ? (a(), s("p", R, " Send a message to get started. ")) : n("", !0),
140
140
  (a(!0), s(_, null, A(o.value, (i, x) => (a(), s("div", {
141
141
  key: x,
142
142
  class: M(["chat-message", `chat-message--${i.role}`])
@@ -206,7 +206,7 @@ const S = { class: "m2s2-chat" }, V = ["aria-label"], z = {
206
206
  ])) : n("", !0)
207
207
  ], 512),
208
208
  g.value ? (a(), s("div", Y, [
209
- e[8] || (e[8] = t("p", { class: "chat-cta__text" }, "Ready to go deeper? Let's talk through your specific situation.", -1)),
209
+ e[8] || (e[8] = t("p", { class: "chat-cta__text" }, " Ready to go deeper? Let's talk through your specific situation. ", -1)),
210
210
  t("a", {
211
211
  class: "chat-cta__btn",
212
212
  href: l.ctaUrl
@@ -247,7 +247,7 @@ const S = { class: "m2s2-chat" }, V = ["aria-label"], z = {
247
247
  ], -1)
248
248
  ])], 8, at)
249
249
  ]),
250
- d.value === "error" ? (a(), s("p", st, "Something went wrong — please try again.")) : n("", !0)
250
+ d.value === "error" ? (a(), s("p", st, " Something went wrong — please try again. ")) : n("", !0)
251
251
  ], 64))
252
252
  ], 8, j)) : n("", !0)
253
253
  ]));
package/dist/index24.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),a={class:"m2s2-blog-card"},i={class:"bc-cover"},s=["src","alt"],l={key:1,class:"bc-cover-placeholder"},r={class:"bc-cover-tag"},d={class:"bc-inner"},m={class:"bc-meta"},g=["dateTime"],f={key:0,class:"bc-reading-time"},h={class:"bc-title"},u=["href"],k={class:"bc-summary"},y={class:"bc-tags"},E=e.defineComponent({__name:"BlogCard",props:{config:{}},setup(t){function o(c){return new Date(c).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}return(c,b)=>(e.openBlock(),e.createElementBlock("div",a,[e.createElementVNode("div",i,[t.config.coverImage?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.config.coverImage,alt:t.config.title,class:"bc-cover-img",loading:"lazy"},null,8,s)):(e.openBlock(),e.createElementBlock("div",l,[e.createElementVNode("span",r,e.toDisplayString(t.config.tags[0]),1)]))]),e.createElementVNode("div",d,[e.createElementVNode("div",m,[e.createElementVNode("time",{dateTime:t.config.date},e.toDisplayString(o(t.config.date)),9,g),t.config.readingTime?(e.openBlock(),e.createElementBlock("span",f,e.toDisplayString(t.config.readingTime)+" min read",1)):e.createCommentVNode("",!0)]),e.createElementVNode("h2",h,[e.createElementVNode("a",{href:`/blog/${t.config.slug}`},e.toDisplayString(t.config.title),9,u)]),e.createElementVNode("p",k,e.toDisplayString(t.config.summary),1),e.createElementVNode("div",y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.config.tags,n=>(e.openBlock(),e.createElementBlock("span",{key:n,class:"bc-tag"},e.toDisplayString(n),1))),128))])])]))}});module.exports=E;
1
+ "use strict";const e=require("vue"),o=require("./index77.cjs"),n={class:"m2s2-blog-card"},a={class:"bc-cover"},i=["src","alt"],s={key:1,class:"bc-cover-placeholder"},l={class:"bc-cover-tag"},r={class:"bc-inner"},d={class:"bc-meta"},m=["dateTime"],g={key:0,class:"bc-reading-time"},f={class:"bc-title"},h=["href"],k={class:"bc-summary"},u={class:"bc-tags"},E=e.defineComponent({__name:"BlogCard",props:{config:{}},setup(t){return(b,B)=>(e.openBlock(),e.createElementBlock("div",n,[e.createElementVNode("div",a,[t.config.coverImage?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.config.coverImage,alt:t.config.title,class:"bc-cover-img",loading:"lazy"},null,8,i)):(e.openBlock(),e.createElementBlock("div",s,[e.createElementVNode("span",l,e.toDisplayString(t.config.tags[0]),1)]))]),e.createElementVNode("div",r,[e.createElementVNode("div",d,[e.createElementVNode("time",{dateTime:t.config.date},e.toDisplayString(e.unref(o.formatBlogDate)(t.config.date)),9,m),t.config.readingTime?(e.openBlock(),e.createElementBlock("span",g,e.toDisplayString(t.config.readingTime)+" min read",1)):e.createCommentVNode("",!0)]),e.createElementVNode("h2",f,[e.createElementVNode("a",{href:`/blog/${t.config.slug}`},e.toDisplayString(t.config.title),9,h)]),e.createElementVNode("p",k,e.toDisplayString(t.config.summary),1),e.createElementVNode("div",u,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.config.tags,c=>(e.openBlock(),e.createElementBlock("span",{key:c,class:"bc-tag"},e.toDisplayString(c),1))),128))])])]))}});module.exports=E;
package/dist/index24.mjs CHANGED
@@ -1,58 +1,52 @@
1
- import { defineComponent as d, openBlock as c, createElementBlock as n, createElementVNode as t, toDisplayString as i, createCommentVNode as l, Fragment as r, renderList as g } from "vue";
2
- const m = { class: "m2s2-blog-card" }, f = { class: "bc-cover" }, h = ["src", "alt"], u = {
1
+ import { defineComponent as n, openBlock as c, createElementBlock as s, createElementVNode as t, toDisplayString as o, unref as a, createCommentVNode as d, Fragment as l, renderList as g } from "vue";
2
+ import { formatBlogDate as r } from "./index77.mjs";
3
+ const m = { class: "m2s2-blog-card" }, f = { class: "bc-cover" }, h = ["src", "alt"], b = {
3
4
  key: 1,
4
5
  class: "bc-cover-placeholder"
5
- }, b = { class: "bc-cover-tag" }, v = { class: "bc-inner" }, y = { class: "bc-meta" }, _ = ["dateTime"], k = {
6
+ }, u = { class: "bc-cover-tag" }, v = { class: "bc-inner" }, _ = { class: "bc-meta" }, y = ["dateTime"], k = {
6
7
  key: 0,
7
8
  class: "bc-reading-time"
8
- }, D = { class: "bc-title" }, T = ["href"], B = { class: "bc-summary" }, C = { class: "bc-tags" }, E = /* @__PURE__ */ d({
9
+ }, B = { class: "bc-title" }, T = ["href"], C = { class: "bc-summary" }, x = { class: "bc-tags" }, V = /* @__PURE__ */ n({
9
10
  __name: "BlogCard",
10
11
  props: {
11
12
  config: {}
12
13
  },
13
14
  setup(e) {
14
- function a(o) {
15
- return new Date(o).toLocaleDateString("en-US", {
16
- year: "numeric",
17
- month: "long",
18
- day: "numeric"
19
- });
20
- }
21
- return (o, S) => (c(), n("div", m, [
15
+ return (D, E) => (c(), s("div", m, [
22
16
  t("div", f, [
23
- e.config.coverImage ? (c(), n("img", {
17
+ e.config.coverImage ? (c(), s("img", {
24
18
  key: 0,
25
19
  src: e.config.coverImage,
26
20
  alt: e.config.title,
27
21
  class: "bc-cover-img",
28
22
  loading: "lazy"
29
- }, null, 8, h)) : (c(), n("div", u, [
30
- t("span", b, i(e.config.tags[0]), 1)
23
+ }, null, 8, h)) : (c(), s("div", b, [
24
+ t("span", u, o(e.config.tags[0]), 1)
31
25
  ]))
32
26
  ]),
33
27
  t("div", v, [
34
- t("div", y, [
28
+ t("div", _, [
35
29
  t("time", {
36
30
  dateTime: e.config.date
37
- }, i(a(e.config.date)), 9, _),
38
- e.config.readingTime ? (c(), n("span", k, i(e.config.readingTime) + " min read", 1)) : l("", !0)
31
+ }, o(a(r)(e.config.date)), 9, y),
32
+ e.config.readingTime ? (c(), s("span", k, o(e.config.readingTime) + " min read", 1)) : d("", !0)
39
33
  ]),
40
- t("h2", D, [
34
+ t("h2", B, [
41
35
  t("a", {
42
36
  href: `/blog/${e.config.slug}`
43
- }, i(e.config.title), 9, T)
37
+ }, o(e.config.title), 9, T)
44
38
  ]),
45
- t("p", B, i(e.config.summary), 1),
46
- t("div", C, [
47
- (c(!0), n(r, null, g(e.config.tags, (s) => (c(), n("span", {
48
- key: s,
39
+ t("p", C, o(e.config.summary), 1),
40
+ t("div", x, [
41
+ (c(!0), s(l, null, g(e.config.tags, (i) => (c(), s("span", {
42
+ key: i,
49
43
  class: "bc-tag"
50
- }, i(s), 1))), 128))
44
+ }, o(i), 1))), 128))
51
45
  ])
52
46
  ])
53
47
  ]));
54
48
  }
55
49
  });
56
50
  export {
57
- E as default
51
+ V as default
58
52
  };
package/dist/index26.cjs CHANGED
@@ -1,6 +1,2 @@
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
- `},{label:"Bullet list",icon:"•–",prefix:"- "},{label:"Numbered list",icon:"1.",prefix:"1. "},{label:"Divider",icon:"",block:`
3
- ---
4
-
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;
1
+ "use strict";const e=require("vue"),oe=require("./index76.cjs"),p=require("./index77.cjs"),se=require("./index78.cjs"),ie={class:"be-root"},re={class:"be-meta"},de={class:"be-field be-field--full"},ue=["value"],ce={class:"be-field"},ve={class:"be-field"},me={class:"be-field be-field--full"},be={class:"be-field be-field--full"},pe={class:"be-field"},fe={class:"be-tags"},Ve=["aria-label","onClick"],ge={class:"be-field"},Ee={class:"be-field be-field--cover"},Ne={class:"be-cover"},xe=["src"],we={class:"be-cover__pick"},ke={class:"be-field"},Te={class:"be-field"},_e={class:"be-field be-field--narrow-pair"},ye={class:"be-editor"},Pe={class:"be-toolbar",role:"toolbar","aria-label":"Formatting"},he=["title","onClick"],De={class:"be-panes"},Ce={class:"be-pane be-pane--write"},Ie=["value"],Se={class:"be-pane be-pane--preview"},Be=["innerHTML"],Ue={class:"be-footer"},Me={class:"be-footer__meta"},Le=["disabled"],Re=e.defineComponent({__name:"BlogEditor",props:{initialPost:{default:void 0},coverImageUrl:{default:void 0}},emits:["publish","coverImageSelected"],setup(J,{emit:Q}){var C,I,S,B,U,M,L,R,q,F,O,A,$,H,G,K,W;const n=J,P=Q,d=e.ref(((C=n.initialPost)==null?void 0:C.title)??""),c=e.ref(((I=n.initialPost)==null?void 0:I.slug)??""),f=e.ref(((S=n.initialPost)==null?void 0:S.date)??p.todayAsIsoDate()),v=e.ref(((B=n.initialPost)==null?void 0:B.summary)??""),V=e.ref(((U=n.initialPost)==null?void 0:U.excerpt)??""),o=e.ref([...((M=n.initialPost)==null?void 0:M.tags)??[]]),u=e.ref(((L=n.initialPost)==null?void 0:L.readingTime)??1),r=e.ref(((R=n.initialPost)==null?void 0:R.content)??""),g=e.ref((q=n.initialPost)==null?void 0:q.coverImage),m=e.ref(""),_=e.ref(!!n.initialPost),h=e.ref(null),E=e.ref(((O=(F=n.initialPost)==null?void 0:F.series)==null?void 0:O.id)??""),N=e.ref((($=(A=n.initialPost)==null?void 0:A.series)==null?void 0:$.title)??""),x=e.ref(((G=(H=n.initialPost)==null?void 0:H.series)==null?void 0:G.part)??1),w=e.ref(((W=(K=n.initialPost)==null?void 0:K.series)==null?void 0:W.total)??1);e.watch(()=>n.initialPost,a=>{var t,l,s,i;a&&(d.value=a.title,c.value=a.slug,f.value=a.date,v.value=a.summary,V.value=a.excerpt??"",o.value=[...a.tags],u.value=a.readingTime??1,r.value=a.content,g.value=a.coverImage,E.value=((t=a.series)==null?void 0:t.id)??"",N.value=((l=a.series)==null?void 0:l.title)??"",x.value=((s=a.series)==null?void 0:s.part)??1,w.value=((i=a.series)==null?void 0:i.total)??1,_.value=!0)});const X=e.computed(()=>oe.marked.parse(r.value)),D=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 Y(a){d.value=a.target.value,_.value||(c.value=p.generateSlug(d.value)),u.value=p.calcReadingTime(r.value)}function Z(a){r.value=a.target.value,u.value=p.calcReadingTime(r.value)}function ee(a){if(a.key==="Enter"||a.key===","){a.preventDefault();const t=m.value.trim().replace(/,/g,"").toLowerCase();t&&!o.value.includes(t)&&(o.value=[...o.value,t]),m.value=""}a.key==="Backspace"&&!m.value&&o.value.length&&(o.value=o.value.slice(0,-1))}function te(a){o.value=o.value.filter(t=>t!==a)}function le(a){var s;const t=(s=a.target.files)==null?void 0:s[0];if(!t)return;P("coverImageSelected",t);const l=new FileReader;l.onload=()=>{g.value=l.result},l.readAsDataURL(t)}function ae(a){const t=h.value;if(!t)return;const l=t.selectionStart,s=t.selectionEnd,i=r.value;let k,T;if(a.wrap){const[b,j]=a.wrap,z=i.slice(l,s)||"text";k=i.slice(0,l)+b+z+j+i.slice(s),T=l+b.length+z.length+j.length}else if(a.prefix){const b=i.lastIndexOf(`
2
+ `,l-1)+1;k=i.slice(0,b)+a.prefix+i.slice(b),T=l+a.prefix.length}else if(a.block)k=i.slice(0,l)+a.block+i.slice(s),T=l+a.block.length;else return;r.value=k,setTimeout(()=>{t.selectionStart=t.selectionEnd=T,t.focus()},0)}function ne(){if(!D.value)return;const a=E.value.trim();P("publish",{title:d.value,slug:c.value||p.generateSlug(d.value),date:f.value,summary:v.value,excerpt:V.value||void 0,tags:o.value,readingTime:u.value,content:r.value,coverImage:n.coverImageUrl??g.value,series:a?{id:a,title:N.value.trim()||a,part:x.value,total:w.value}:void 0})}return(a,t)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("section",re,[e.createElementVNode("div",de,[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,placeholder:"Post title…",onInput:Y},null,40,ue)]),e.createElementVNode("div",ce,[t[12]||(t[12]=e.createElementVNode("label",{class:"be-label"},"Slug",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[0]||(t[0]=l=>c.value=l),class:"be-input",type:"text",placeholder:"post-slug",onInput:t[1]||(t[1]=l=>_.value=!0)},null,544),[[e.vModelText,c.value]])]),e.createElementVNode("div",ve,[t[13]||(t[13]=e.createElementVNode("label",{class:"be-label"},"Date",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[2]||(t[2]=l=>f.value=l),class:"be-input",type:"date"},null,512),[[e.vModelText,f.value]])]),e.createElementVNode("div",me,[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",{"onUpdate:modelValue":t[3]||(t[3]=l=>v.value=l),class:"be-input be-input--textarea",rows:"2",placeholder:"Short description shown in blog listings…"},null,512),[[e.vModelText,v.value]])]),e.createElementVNode("div",be,[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",{"onUpdate:modelValue":t[4]||(t[4]=l=>V.value=l),class:"be-input be-input--textarea",rows:"2",placeholder:"Longer teaser for social previews…"},null,512),[[e.vModelText,V.value]])]),e.createElementVNode("div",pe,[t[16]||(t[16]=e.createElementVNode("label",{class:"be-label"},"Tags",-1)),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,l=>(e.openBlock(),e.createElementBlock("span",{key:l,class:"be-tag"},[e.createTextVNode(e.toDisplayString(l)+" ",1),e.createElementVNode("button",{type:"button",class:"be-tag__remove","aria-label":`Remove tag ${l}`,onClick:s=>te(l)},"×",8,Ve)]))),128)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[5]||(t[5]=l=>m.value=l),class:"be-tag-input",type:"text",placeholder:"Add tag, press Enter…",onKeydown:ee},null,544),[[e.vModelText,m.value]])])]),e.createElementVNode("div",ge,[t[17]||(t[17]=e.createElementVNode("label",{class:"be-label"},"Reading time (min)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[6]||(t[6]=l=>u.value=l),class:"be-input be-input--narrow",type:"number",min:"1"},null,512),[[e.vModelText,u.value,void 0,{number:!0}]])]),e.createElementVNode("div",Ee,[t[18]||(t[18]=e.createElementVNode("label",{class:"be-label"},"Cover Image",-1)),e.createElementVNode("div",Ne,[y.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:"be-cover__preview",src:y.value,alt:"Cover preview"},null,8,xe)):e.createCommentVNode("",!0),e.createElementVNode("label",we,[e.createTextVNode(e.toDisplayString(y.value?"Replace":"Choose image")+" ",1),e.createElementVNode("input",{type:"file",accept:"image/*",hidden:"",onChange:le},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",ke,[t[19]||(t[19]=e.createElementVNode("label",{class:"be-label"},"Series ID",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[7]||(t[7]=l=>E.value=l),class:"be-input",type:"text",placeholder:"e.g. go-backend"},null,512),[[e.vModelText,E.value]])]),e.createElementVNode("div",Te,[t[20]||(t[20]=e.createElementVNode("label",{class:"be-label"},"Series Title",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[8]||(t[8]=l=>N.value=l),class:"be-input",type:"text",placeholder:"e.g. Go Backend Series"},null,512),[[e.vModelText,N.value]])]),e.createElementVNode("div",_e,[e.createElementVNode("div",null,[t[21]||(t[21]=e.createElementVNode("label",{class:"be-label"},"Part",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":t[9]||(t[9]=l=>x.value=l),class:"be-input be-input--narrow",type:"number",min:"1"},null,512),[[e.vModelText,x.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",{"onUpdate:modelValue":t[10]||(t[10]=l=>w.value=l),class:"be-input be-input--narrow",type:"number",min:"1"},null,512),[[e.vModelText,w.value,void 0,{number:!0}]])])])]),e.createElementVNode("section",ye,[e.createElementVNode("div",Pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(se.BLOG_EDITOR_TOOLBAR),l=>(e.openBlock(),e.createElementBlock("button",{key:l.label,type:"button",class:"be-toolbar__btn",title:l.label,onClick:s=>ae(l)},e.toDisplayString(l.icon),9,he))),128))]),e.createElementVNode("div",De,[e.createElementVNode("div",Ce,[t[24]||(t[24]=e.createElementVNode("div",{class:"be-pane__label"}," Markdown ",-1)),e.createElementVNode("textarea",{ref_key:"textareaEl",ref:h,class:"be-pane__textarea",value:r.value,placeholder:"Write your post in markdown…",spellcheck:"true",onInput:Z},null,40,Ie)]),e.createElementVNode("div",Se,[t[25]||(t[25]=e.createElementVNode("div",{class:"be-pane__label"}," Preview ",-1)),e.createElementVNode("div",{class:"be-pane__preview prose",innerHTML:X.value},null,8,Be)])])]),e.createElementVNode("footer",Ue,[e.createElementVNode("span",Me,"~"+e.toDisplayString(u.value)+" min read",1),e.createElementVNode("button",{type:"button",class:"be-publish",disabled:!D.value,onClick:ne}," Publish Post ",8,Le)])]))}});module.exports=Re;