@m2s2/vue-lib 2.0.0 → 2.2.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/index.cjs +1 -1
- package/dist/index.mjs +34 -28
- package/dist/index10.cjs +1 -1
- package/dist/index10.mjs +8 -16
- package/dist/index12.cjs +1 -1
- package/dist/index12.mjs +15 -19
- package/dist/index14.cjs +1 -1
- package/dist/index14.mjs +20 -27
- package/dist/index16.cjs +1 -1
- package/dist/index16.mjs +28 -262
- package/dist/index18.cjs +1 -1
- package/dist/index18.mjs +263 -13
- package/dist/index2.cjs +1 -1
- package/dist/index2.mjs +250 -11
- package/dist/index20.cjs +1 -1
- package/dist/index20.mjs +13 -38
- package/dist/index22.cjs +1 -1
- package/dist/index22.mjs +35 -49
- package/dist/index24.cjs +1 -1
- package/dist/index24.mjs +47 -78
- package/dist/index26.cjs +6 -1
- package/dist/index26.mjs +273 -102
- package/dist/index28.cjs +1 -1
- package/dist/index28.mjs +75 -60
- package/dist/index30.cjs +1 -1
- package/dist/index30.mjs +100 -75
- package/dist/index32.cjs +1 -1
- package/dist/index32.mjs +72 -3
- package/dist/index34.cjs +1 -1
- package/dist/index34.mjs +85 -3
- package/dist/index36.cjs +1 -1
- package/dist/index36.mjs +2 -2
- package/dist/index37.cjs +1 -1
- package/dist/index37.mjs +2 -2
- package/dist/index38.cjs +1 -1
- package/dist/index38.mjs +2 -2
- package/dist/index39.cjs +1 -1
- package/dist/index39.mjs +2 -2
- package/dist/index4.cjs +1 -1
- package/dist/index4.mjs +11 -19
- package/dist/index40.cjs +1 -1
- package/dist/index40.mjs +1 -1
- package/dist/index41.cjs +1 -1
- package/dist/index41.mjs +1 -1
- package/dist/index42.cjs +1 -1
- package/dist/index42.mjs +1 -1
- package/dist/index43.cjs +1 -1
- package/dist/index43.mjs +1 -1
- package/dist/index44.cjs +1 -1
- package/dist/index44.mjs +1 -1
- package/dist/index45.cjs +1 -1
- package/dist/index45.mjs +1 -1
- package/dist/index46.cjs +1 -1
- package/dist/index46.mjs +1 -1
- package/dist/index47.cjs +1 -1
- package/dist/index47.mjs +3 -51
- package/dist/index48.cjs +1 -1
- package/dist/index48.mjs +3 -2
- package/dist/index49.cjs +1 -0
- package/dist/index49.mjs +5 -0
- package/dist/index50.cjs +1 -0
- package/dist/index50.mjs +5 -0
- package/dist/index51.cjs +1 -0
- package/dist/index51.mjs +5 -0
- package/dist/index52.cjs +1 -0
- package/dist/index52.mjs +5 -0
- package/dist/index53.cjs +59 -0
- package/dist/index53.mjs +1152 -0
- package/dist/index54.cjs +1 -0
- package/dist/index54.mjs +53 -0
- package/dist/index55.cjs +1 -0
- package/dist/index55.mjs +4 -0
- package/dist/index6.cjs +1 -1
- package/dist/index6.mjs +21 -15
- package/dist/index8.cjs +1 -1
- package/dist/index8.mjs +15 -10
- package/dist/vue-lib/src/components/BlogEditor/BlogEditor.vue.d.ts +16 -0
- package/dist/vue-lib/src/components/BlogEditor/BlogEditor.vue.d.ts.map +1 -0
- package/dist/vue-lib/src/components/Chat/Chat.vue.d.ts +22 -0
- package/dist/vue-lib/src/components/Chat/Chat.vue.d.ts.map +1 -0
- package/dist/vue-lib/src/index.d.ts +2 -0
- package/dist/vue-lib/src/index.d.ts.map +1 -1
- package/dist/vue-lib.css +1 -1
- package/package.json +8 -5
- package/dist/index33.cjs +0 -1
- package/dist/index33.mjs +0 -5
- package/dist/index35.cjs +0 -1
- package/dist/index35.mjs +0 -5
package/dist/index22.mjs
CHANGED
|
@@ -1,58 +1,44 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}, b = { class: "bc-cover-tag" }, v = { class: "bc-inner" }, y = { class: "bc-meta" }, _ = ["dateTime"], k = {
|
|
1
|
+
import { defineComponent as f, openBlock as t, createBlock as r, withCtx as l, createElementVNode as o, createElementBlock as n, createCommentVNode as i, toDisplayString as c, Fragment as d, renderList as u } from "vue";
|
|
2
|
+
import m from "./index20.mjs";
|
|
3
|
+
/* empty css */
|
|
4
|
+
const g = { class: "fc-header" }, h = ["innerHTML"], k = { class: "fc-title" }, y = { class: "fc-body" }, _ = {
|
|
6
5
|
key: 0,
|
|
7
|
-
class: "
|
|
8
|
-
},
|
|
9
|
-
|
|
6
|
+
class: "fc-list"
|
|
7
|
+
}, C = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "fc-note"
|
|
10
|
+
}, F = /* @__PURE__ */ f({
|
|
11
|
+
__name: "FeatureCard",
|
|
10
12
|
props: {
|
|
11
13
|
config: {}
|
|
12
14
|
},
|
|
13
15
|
setup(e) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
e.config.readingTime ? (c(), n("span", k, i(e.config.readingTime) + " min read", 1)) : l("", !0)
|
|
39
|
-
]),
|
|
40
|
-
t("h2", D, [
|
|
41
|
-
t("a", {
|
|
42
|
-
href: `/blog/${e.config.slug}`
|
|
43
|
-
}, i(e.config.title), 9, T)
|
|
44
|
-
]),
|
|
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,
|
|
49
|
-
class: "bc-tag"
|
|
50
|
-
}, i(s), 1))), 128))
|
|
51
|
-
])
|
|
52
|
-
])
|
|
53
|
-
]));
|
|
16
|
+
return (x, B) => (t(), r(m, {
|
|
17
|
+
featured: e.config.featured ?? !1
|
|
18
|
+
}, {
|
|
19
|
+
default: l(() => {
|
|
20
|
+
var a;
|
|
21
|
+
return [
|
|
22
|
+
o("div", g, [
|
|
23
|
+
e.config.icon ? (t(), n("span", {
|
|
24
|
+
key: 0,
|
|
25
|
+
class: "fc-icon",
|
|
26
|
+
"aria-hidden": "true",
|
|
27
|
+
innerHTML: e.config.icon
|
|
28
|
+
}, null, 8, h)) : i("", !0),
|
|
29
|
+
o("h2", k, c(e.config.title), 1)
|
|
30
|
+
]),
|
|
31
|
+
o("p", y, c(e.config.body), 1),
|
|
32
|
+
(a = e.config.items) != null && a.length ? (t(), n("ul", _, [
|
|
33
|
+
(t(!0), n(d, null, u(e.config.items, (s) => (t(), n("li", { key: s }, c(s), 1))), 128))
|
|
34
|
+
])) : i("", !0),
|
|
35
|
+
e.config.note ? (t(), n("p", C, c(e.config.note), 1)) : i("", !0)
|
|
36
|
+
];
|
|
37
|
+
}),
|
|
38
|
+
_: 1
|
|
39
|
+
}, 8, ["featured"]));
|
|
54
40
|
}
|
|
55
41
|
});
|
|
56
42
|
export {
|
|
57
|
-
|
|
43
|
+
F as default
|
|
58
44
|
};
|
package/dist/index24.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),
|
|
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;
|
package/dist/index24.mjs
CHANGED
|
@@ -1,89 +1,58 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
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 = {
|
|
3
|
+
key: 1,
|
|
4
|
+
class: "bc-cover-placeholder"
|
|
5
|
+
}, b = { class: "bc-cover-tag" }, v = { class: "bc-inner" }, y = { class: "bc-meta" }, _ = ["dateTime"], k = {
|
|
3
6
|
key: 0,
|
|
4
|
-
class: "
|
|
5
|
-
},
|
|
6
|
-
|
|
7
|
-
class: "dt-col-panel"
|
|
8
|
-
}, B = ["checked", "onChange"], M = { class: "dt-scroll" }, R = /* @__PURE__ */ V({
|
|
9
|
-
__name: "DataTable",
|
|
7
|
+
class: "bc-reading-time"
|
|
8
|
+
}, D = { class: "bc-title" }, T = ["href"], B = { class: "bc-summary" }, C = { class: "bc-tags" }, E = /* @__PURE__ */ d({
|
|
9
|
+
__name: "BlogCard",
|
|
10
10
|
props: {
|
|
11
|
-
|
|
12
|
-
colVisibility: { default: () => ({}) },
|
|
13
|
-
statuses: { default: () => [] },
|
|
14
|
-
statusFilter: { default: "all" },
|
|
15
|
-
statusLabels: { default: () => ({}) },
|
|
16
|
-
searchValue: { default: "" },
|
|
17
|
-
searchPlaceholder: { default: "Search…" },
|
|
18
|
-
totalCount: { default: 0 },
|
|
19
|
-
filteredCount: { default: 0 },
|
|
20
|
-
emptyMessage: { default: "No data yet." }
|
|
11
|
+
config: {}
|
|
21
12
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
var c;
|
|
30
|
-
(c = h.value) != null && c.contains(s.target) || (o.value = !1, document.removeEventListener("click", f));
|
|
13
|
+
setup(e) {
|
|
14
|
+
function a(o) {
|
|
15
|
+
return new Date(o).toLocaleDateString("en-US", {
|
|
16
|
+
year: "numeric",
|
|
17
|
+
month: "long",
|
|
18
|
+
day: "numeric"
|
|
19
|
+
});
|
|
31
20
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
e.columnDefs.length > 0 ? (l(), a("div", {
|
|
56
|
-
key: 1,
|
|
57
|
-
ref_key: "colWrapRef",
|
|
58
|
-
ref: h,
|
|
59
|
-
class: "dt-col-wrap"
|
|
60
|
-
}, [
|
|
61
|
-
n("button", {
|
|
62
|
-
class: "dt-col-btn",
|
|
63
|
-
onClick: y
|
|
64
|
-
}, "⚙ Columns"),
|
|
65
|
-
o.value ? (l(), a("div", w, [
|
|
66
|
-
(l(!0), a(d, null, k(e.columnDefs, (t) => (l(), a("label", {
|
|
67
|
-
key: t.key,
|
|
68
|
-
class: "dt-col-check"
|
|
69
|
-
}, [
|
|
70
|
-
n("input", {
|
|
71
|
-
type: "checkbox",
|
|
72
|
-
checked: e.colVisibility[t.key] ?? !0,
|
|
73
|
-
onChange: (b) => i("colToggle", t.key)
|
|
74
|
-
}, null, 40, B),
|
|
75
|
-
D(" " + u(t.label), 1)
|
|
76
|
-
]))), 128))
|
|
77
|
-
])) : r("", !0)
|
|
78
|
-
], 512)) : r("", !0)
|
|
21
|
+
return (o, S) => (c(), n("div", m, [
|
|
22
|
+
t("div", f, [
|
|
23
|
+
e.config.coverImage ? (c(), n("img", {
|
|
24
|
+
key: 0,
|
|
25
|
+
src: e.config.coverImage,
|
|
26
|
+
alt: e.config.title,
|
|
27
|
+
class: "bc-cover-img",
|
|
28
|
+
loading: "lazy"
|
|
29
|
+
}, null, 8, h)) : (c(), n("div", u, [
|
|
30
|
+
t("span", b, i(e.config.tags[0]), 1)
|
|
31
|
+
]))
|
|
32
|
+
]),
|
|
33
|
+
t("div", v, [
|
|
34
|
+
t("div", y, [
|
|
35
|
+
t("time", {
|
|
36
|
+
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)
|
|
39
|
+
]),
|
|
40
|
+
t("h2", D, [
|
|
41
|
+
t("a", {
|
|
42
|
+
href: `/blog/${e.config.slug}`
|
|
43
|
+
}, i(e.config.title), 9, T)
|
|
79
44
|
]),
|
|
80
|
-
|
|
81
|
-
|
|
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,
|
|
49
|
+
class: "bc-tag"
|
|
50
|
+
}, i(s), 1))), 128))
|
|
82
51
|
])
|
|
83
|
-
]
|
|
52
|
+
])
|
|
84
53
|
]));
|
|
85
54
|
}
|
|
86
55
|
});
|
|
87
56
|
export {
|
|
88
|
-
|
|
57
|
+
E as default
|
|
89
58
|
};
|
package/dist/index26.cjs
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),
|
|
1
|
+
"use strict";const e=require("vue"),Q=require("./index53.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:`
|
|
2
|
+
`},{label:"Bullet list",icon:"•–",prefix:"- "},{label:"Numbered list",icon:"1.",prefix:"1. "},{label:"Divider",icon:"—",block:`
|
|
3
|
+
---
|
|
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;
|