hexagon-editor 0.1.1 → 0.1.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.
package/README.md CHANGED
@@ -32,7 +32,7 @@ defineProps<{content: string}>();
32
32
 
33
33
  `MarkdownRenderer` supports server rendering. Mermaid source is emitted as a stable fallback during SSR and is replaced with an SVG after hydration. The Mermaid runtime is loaded lazily only when a document contains a diagram.
34
34
 
35
- The renderer intentionally ships no CSS. Style its `.markdown-renderer` root and semantic descendants in the consuming site. KaTeX output also requires host-provided styles if the site wants the standard KaTeX appearance.
35
+ The renderer includes basic typography for headings, links, and inline code. Override its `.markdown-renderer` root, semantic descendants, or the `--markdown-renderer-link` and `--markdown-renderer-code-background` custom properties to match the consuming site. KaTeX output requires host-provided styles if the site wants the standard KaTeX appearance.
36
36
 
37
37
  Raw Markdown HTML and the contents of `:::html ... :::` are displayed as source text. Only the spaced `::: html ... :::` directive is rendered as HTML. Pass trusted content to that directive; the renderer does not sanitize it.
38
38
 
@@ -1,6 +1,7 @@
1
- import { defineComponent as V, ref as w, openBlock as p, createElementBlock as x, withModifiers as W, createElementVNode as u, renderSlot as N, onMounted as S, toDisplayString as v, createCommentVNode as $, normalizeClass as M, computed as E, createBlock as C, withCtx as I, createVNode as k, createTextVNode as q } from "vue";
1
+ import { defineComponent as V, ref as k, openBlock as c, createElementBlock as x, withModifiers as W, createElementVNode as u, renderSlot as N, onMounted as S, toDisplayString as v, createCommentVNode as $, normalizeClass as M, computed as E, createBlock as C, withCtx as I, createVNode as p, createTextVNode as q } from "vue";
2
2
  import { getMarkdownEditorMessages as F } from "./i18n.js";
3
- import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"], H = { class: "markdown-editor-form__layout" }, R = { class: "markdown-editor-form__footer" }, L = /* @__PURE__ */ V({
3
+ import { _ as L } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"], H = { class: "markdown-editor-form__layout" }, R = { class: "markdown-editor-form__footer" }, T = /* @__PURE__ */ V({
4
5
  name: "MarkdownEditorForm",
5
6
  __name: "MarkdownEditorForm",
6
7
  props: {
@@ -8,11 +9,11 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
8
9
  theme: { default: "auto" }
9
10
  },
10
11
  emits: ["submit"],
11
- setup(e, { expose: h, emit: f }) {
12
- const o = f, a = w();
13
- return h({ element: a }), (n, t) => (p(), x("form", {
12
+ setup(e, { expose: w, emit: g }) {
13
+ const o = g, l = k();
14
+ return w({ element: l }), (n, t) => (c(), x("form", {
14
15
  ref_key: "element",
15
- ref: a,
16
+ ref: l,
16
17
  class: "markdown-editor-form",
17
18
  "aria-disabled": e.disabled || void 0,
18
19
  "data-theme": e.theme,
@@ -27,10 +28,10 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
27
28
  ])
28
29
  ], 40, A));
29
30
  }
30
- }), z = { class: "markdown-editor-form__row" }, O = {
31
+ }), z = { class: "markdown-editor-form__row" }, D = {
31
32
  key: 0,
32
33
  class: "markdown-editor-form__label"
33
- }, D = ["value", "aria-describedby", "aria-invalid", "aria-label", "disabled", "min", "placeholder", "readonly", "required", "type"], g = /* @__PURE__ */ V({
34
+ }, O = ["value", "aria-describedby", "aria-invalid", "aria-label", "disabled", "min", "placeholder", "readonly", "required", "type"], y = /* @__PURE__ */ V({
34
35
  name: "MarkdownEditorTextInput",
35
36
  __name: "MarkdownEditorTextInput",
36
37
  props: {
@@ -48,12 +49,12 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
48
49
  type: { default: "text" }
49
50
  },
50
51
  emits: ["update:modelValue"],
51
- setup(e, { expose: h, emit: f }) {
52
- const o = e, a = f, n = w(), t = `markdown-editor-input-${Math.random().toString(36).slice(2)}`;
52
+ setup(e, { expose: w, emit: g }) {
53
+ const o = e, l = g, n = k(), t = `markdown-editor-input-${Math.random().toString(36).slice(2)}`;
53
54
  return S(() => {
54
55
  o.autofocus && n.value?.focus();
55
- }), h({ focus: () => n.value?.focus(), input: n }), (r, b) => (p(), x("label", z, [
56
- e.label ? (p(), x("span", O, v(e.label), 1)) : $("", !0),
56
+ }), w({ focus: () => n.value?.focus(), input: n }), (r, b) => (c(), x("label", z, [
57
+ e.label ? (c(), x("span", D, v(e.label), 1)) : $("", !0),
57
58
  u("input", {
58
59
  ref_key: "input",
59
60
  ref: n,
@@ -68,9 +69,9 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
68
69
  readonly: e.readonly,
69
70
  required: e.required,
70
71
  type: e.type,
71
- onInput: b[0] || (b[0] = (d) => a("update:modelValue", d.target.value))
72
- }, null, 42, D),
73
- e.error || e.help ? (p(), x("span", {
72
+ onInput: b[0] || (b[0] = (d) => l("update:modelValue", d.target.value))
73
+ }, null, 42, O),
74
+ e.error || e.help ? (c(), x("span", {
74
75
  key: 1,
75
76
  id: t,
76
77
  class: M(["markdown-editor-form__help", { "markdown-editor-form__help--error": e.error }])
@@ -98,18 +99,18 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
98
99
  width: { default: "" }
99
100
  },
100
101
  emits: ["apply", "cancel", "invalid", "update:alt", "update:height", "update:name", "update:title", "update:url", "update:width"],
101
- setup(e, { expose: h, emit: f }) {
102
- const o = e, a = f, n = w(), t = w(""), r = w(""), b = w(!1), d = E(() => F(o.locale));
103
- async function y(s) {
104
- const l = s.target, i = l.files?.[0];
105
- if (l.value = "", !(i === void 0 || o.uploadImage === void 0)) {
102
+ setup(e, { expose: w, emit: g }) {
103
+ const o = e, l = g, n = k(), t = k(""), r = k(""), b = k(!1), d = E(() => F(o.locale));
104
+ async function h(s) {
105
+ const a = s.target, i = a.files?.[0];
106
+ if (a.value = "", !(i === void 0 || o.uploadImage === void 0)) {
106
107
  r.value = "", b.value = !0;
107
108
  try {
108
109
  const U = await o.uploadImage(i);
109
- if (!c(U)) throw new Error("Invalid image URL");
110
- t.value = "", a("update:url", U), o.alt.trim() === "" && a("update:alt", i.name);
110
+ if (!f(U)) throw new Error("Invalid image URL");
111
+ t.value = "", l("update:url", U), o.alt.trim() === "" && l("update:alt", i.name);
111
112
  } catch {
112
- r.value = d.value.imageUploadError, a("invalid", r.value);
113
+ r.value = d.value.imageUploadError, l("invalid", r.value);
113
114
  } finally {
114
115
  b.value = !1;
115
116
  }
@@ -117,15 +118,15 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
117
118
  }
118
119
  function m() {
119
120
  const s = o.url.trim();
120
- if (!c(s)) {
121
- t.value = d.value.imageUrlError, a("invalid", t.value);
121
+ if (!f(s)) {
122
+ t.value = d.value.imageUrlError, l("invalid", t.value);
122
123
  return;
123
124
  }
124
125
  t.value = "";
125
- const l = { alt: o.alt.trim(), name: o.name.trim(), title: o.title.trim(), url: s }, i = B(o.width), U = B(o.height);
126
- i !== void 0 && (l.width = i), U !== void 0 && (l.height = U), a("apply", l);
126
+ const a = { alt: o.alt.trim(), name: o.name.trim(), title: o.title.trim(), url: s }, i = B(o.width), U = B(o.height);
127
+ i !== void 0 && (a.width = i), U !== void 0 && (a.height = U), l("apply", a);
127
128
  }
128
- function c(s) {
129
+ function f(s) {
129
130
  if (s.startsWith("data:image/")) return !0;
130
131
  try {
131
132
  return s.length > 0 && new URL(s).protocol.match(/^https?:$/) !== null;
@@ -134,10 +135,10 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
134
135
  }
135
136
  }
136
137
  function B(s) {
137
- const l = Number(s);
138
- return s === "" || !Number.isFinite(l) || l < 0 ? void 0 : l;
138
+ const a = Number(s);
139
+ return s === "" || !Number.isFinite(a) || a < 0 ? void 0 : a;
139
140
  }
140
- return h({ element: E(() => n.value?.element) }), (s, l) => (p(), C(L, {
141
+ return w({ element: E(() => n.value?.element) }), (s, a) => (c(), C(T, {
141
142
  ref_key: "form",
142
143
  ref: n,
143
144
  disabled: e.disabled,
@@ -147,7 +148,7 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
147
148
  footer: I(() => [
148
149
  u("button", {
149
150
  type: "button",
150
- onClick: l[6] || (l[6] = (i) => a("cancel"))
151
+ onClick: a[6] || (a[6] = (i) => l("cancel"))
151
152
  }, v(d.value.cancel), 1),
152
153
  u("button", {
153
154
  disabled: e.disabled || b.value || !e.url.trim(),
@@ -155,7 +156,7 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
155
156
  }, v(d.value.apply), 9, K)
156
157
  ]),
157
158
  default: I(() => [
158
- e.uploadImage ? (p(), x("label", {
159
+ e.uploadImage ? (c(), x("label", {
159
160
  key: 0,
160
161
  class: M(["markdown-editor-image-upload", { "markdown-editor-image-upload--disabled": e.disabled || b.value }])
161
162
  }, [
@@ -163,12 +164,12 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
163
164
  accept: "image/*",
164
165
  disabled: e.disabled || b.value,
165
166
  type: "file",
166
- onChange: y
167
+ onChange: h
167
168
  }, null, 40, j),
168
169
  u("span", null, v(b.value ? d.value.imageUploading : d.value.imageUpload), 1)
169
170
  ], 2)) : $("", !0),
170
- r.value ? (p(), x("p", G, v(r.value), 1)) : $("", !0),
171
- k(g, {
171
+ r.value ? (c(), x("p", G, v(r.value), 1)) : $("", !0),
172
+ p(y, {
172
173
  "model-value": e.url,
173
174
  "aria-label": d.value.imageUrlAria,
174
175
  autofocus: e.autofocus,
@@ -178,65 +179,60 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
178
179
  placeholder: "https://example.com/image.jpg",
179
180
  required: "",
180
181
  type: "url",
181
- "onUpdate:modelValue": l[0] || (l[0] = (i) => {
182
- t.value = "", a("update:url", i);
182
+ "onUpdate:modelValue": a[0] || (a[0] = (i) => {
183
+ t.value = "", l("update:url", i);
183
184
  })
184
185
  }, null, 8, ["model-value", "aria-label", "autofocus", "disabled", "error", "label"]),
185
- k(g, {
186
+ p(y, {
186
187
  "model-value": e.name,
187
188
  disabled: e.disabled,
188
189
  label: d.value.imageName,
189
- "onUpdate:modelValue": l[1] || (l[1] = (i) => a("update:name", i))
190
+ "onUpdate:modelValue": a[1] || (a[1] = (i) => l("update:name", i))
190
191
  }, null, 8, ["model-value", "disabled", "label"]),
191
- k(g, {
192
+ p(y, {
192
193
  "model-value": e.alt,
193
194
  "aria-label": d.value.imageAltAria,
194
195
  disabled: e.disabled,
195
196
  help: d.value.imageAltHelp,
196
197
  label: d.value.imageAlt,
197
- "onUpdate:modelValue": l[2] || (l[2] = (i) => a("update:alt", i))
198
+ "onUpdate:modelValue": a[2] || (a[2] = (i) => l("update:alt", i))
198
199
  }, null, 8, ["model-value", "aria-label", "disabled", "help", "label"]),
199
- k(g, {
200
+ p(y, {
200
201
  "model-value": e.title,
201
202
  "aria-label": d.value.imageTitle,
202
203
  disabled: e.disabled,
203
204
  label: d.value.imageTitle,
204
- "onUpdate:modelValue": l[3] || (l[3] = (i) => a("update:title", i))
205
+ "onUpdate:modelValue": a[3] || (a[3] = (i) => l("update:title", i))
205
206
  }, null, 8, ["model-value", "aria-label", "disabled", "label"]),
206
207
  u("div", {
207
208
  class: "markdown-editor-form__sizes",
208
209
  "aria-label": d.value.imageSizes
209
210
  }, [
210
- k(g, {
211
+ p(y, {
211
212
  "model-value": e.width,
212
213
  "aria-label": d.value.imageWidth,
213
214
  disabled: e.disabled,
214
215
  min: 0,
215
216
  placeholder: d.value.imageWidth,
216
217
  type: "number",
217
- "onUpdate:modelValue": l[4] || (l[4] = (i) => a("update:width", i))
218
+ "onUpdate:modelValue": a[4] || (a[4] = (i) => l("update:width", i))
218
219
  }, null, 8, ["model-value", "aria-label", "disabled", "placeholder"]),
219
- l[7] || (l[7] = u("span", { "aria-hidden": "true" }, "×", -1)),
220
- k(g, {
220
+ a[7] || (a[7] = u("span", { "aria-hidden": "true" }, "×", -1)),
221
+ p(y, {
221
222
  "model-value": e.height,
222
223
  "aria-label": d.value.imageHeight,
223
224
  disabled: e.disabled,
224
225
  min: 0,
225
226
  placeholder: d.value.imageHeight,
226
227
  type: "number",
227
- "onUpdate:modelValue": l[5] || (l[5] = (i) => a("update:height", i))
228
+ "onUpdate:modelValue": a[5] || (a[5] = (i) => l("update:height", i))
228
229
  }, null, 8, ["model-value", "aria-label", "disabled", "placeholder"])
229
230
  ], 8, J)
230
231
  ]),
231
232
  _: 1
232
233
  }, 8, ["disabled", "theme"]));
233
234
  }
234
- }), T = (e, h) => {
235
- const f = e.__vccOpts || e;
236
- for (const [o, a] of h)
237
- f[o] = a;
238
- return f;
239
- }, le = /* @__PURE__ */ T(P, [["__scopeId", "data-v-396f2d6a"]]), Q = { class: "markdown-editor__form-checkbox" }, X = ["checked", "disabled"], Y = ["disabled"], Z = ["disabled"], _ = /* @__PURE__ */ V({
235
+ }), te = /* @__PURE__ */ L(P, [["__scopeId", "data-v-396f2d6a"]]), Q = { class: "markdown-editor__form-checkbox" }, X = ["checked", "disabled"], Y = ["disabled"], Z = ["disabled"], _ = /* @__PURE__ */ V({
240
236
  name: "MarkdownEditorLinkForm",
241
237
  __name: "MarkdownEditorLinkForm",
242
238
  props: {
@@ -251,24 +247,24 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
251
247
  url: { default: "" }
252
248
  },
253
249
  emits: ["apply", "cancel", "invalid", "remove", "update:text", "update:url", "update:openInNewWindow"],
254
- setup(e, { expose: h, emit: f }) {
255
- const o = e, a = f, n = w(), t = E(() => F(o.locale)), r = w("");
250
+ setup(e, { expose: w, emit: g }) {
251
+ const o = e, l = g, n = k(), t = E(() => F(o.locale)), r = k("");
256
252
  function b() {
257
- const y = o.url.trim();
258
- if (!d(y)) {
259
- r.value = t.value.linkUrlError, a("invalid", r.value);
253
+ const h = o.url.trim();
254
+ if (!d(h)) {
255
+ r.value = t.value.linkUrlError, l("invalid", r.value);
260
256
  return;
261
257
  }
262
- r.value = "", a("apply", { openInNewWindow: o.openInNewWindow, text: o.text.trim(), url: y });
258
+ r.value = "", l("apply", { openInNewWindow: o.openInNewWindow, text: o.text.trim(), url: h });
263
259
  }
264
- function d(y) {
260
+ function d(h) {
265
261
  try {
266
- return y.length > 0 && new URL(y).protocol.match(/^https?:$/) !== null;
262
+ return h.length > 0 && new URL(h).protocol.match(/^https?:$/) !== null;
267
263
  } catch {
268
264
  return !1;
269
265
  }
270
266
  }
271
- return h({ element: E(() => n.value?.element) }), (y, m) => (p(), C(L, {
267
+ return w({ element: E(() => n.value?.element) }), (h, m) => (c(), C(T, {
272
268
  ref_key: "form",
273
269
  ref: n,
274
270
  disabled: e.disabled,
@@ -276,15 +272,15 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
276
272
  onSubmit: b
277
273
  }, {
278
274
  footer: I(() => [
279
- e.hasCurrentLink ? (p(), x("button", {
275
+ e.hasCurrentLink ? (c(), x("button", {
280
276
  key: 0,
281
277
  disabled: e.disabled,
282
278
  type: "button",
283
- onClick: m[3] || (m[3] = (c) => a("remove"))
279
+ onClick: m[3] || (m[3] = (f) => l("remove"))
284
280
  }, v(t.value.linkRemove), 9, Y)) : $("", !0),
285
281
  u("button", {
286
282
  type: "button",
287
- onClick: m[4] || (m[4] = (c) => a("cancel"))
283
+ onClick: m[4] || (m[4] = (f) => l("cancel"))
288
284
  }, v(t.value.cancel), 1),
289
285
  u("button", {
290
286
  disabled: e.disabled || !e.url.trim(),
@@ -292,7 +288,7 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
292
288
  }, v(t.value.apply), 9, Z)
293
289
  ]),
294
290
  default: I(() => [
295
- k(g, {
291
+ p(y, {
296
292
  "model-value": e.url,
297
293
  "aria-label": t.value.linkUrl,
298
294
  autofocus: e.autofocus,
@@ -302,25 +298,25 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
302
298
  placeholder: "https://example.com",
303
299
  required: "",
304
300
  type: "url",
305
- "onUpdate:modelValue": m[0] || (m[0] = (c) => {
306
- r.value = "", a("update:url", c);
301
+ "onUpdate:modelValue": m[0] || (m[0] = (f) => {
302
+ r.value = "", l("update:url", f);
307
303
  })
308
304
  }, null, 8, ["model-value", "aria-label", "autofocus", "disabled", "error", "label"]),
309
- k(g, {
305
+ p(y, {
310
306
  "model-value": e.text,
311
307
  "aria-label": t.value.linkText,
312
308
  disabled: e.disabled,
313
309
  help: t.value.linkTextHelp,
314
310
  label: t.value.linkText,
315
311
  readonly: e.readOnlyText,
316
- "onUpdate:modelValue": m[1] || (m[1] = (c) => a("update:text", c))
312
+ "onUpdate:modelValue": m[1] || (m[1] = (f) => l("update:text", f))
317
313
  }, null, 8, ["model-value", "aria-label", "disabled", "help", "label", "readonly"]),
318
314
  u("label", Q, [
319
315
  u("input", {
320
316
  checked: e.openInNewWindow,
321
317
  disabled: e.disabled,
322
318
  type: "checkbox",
323
- onChange: m[2] || (m[2] = (c) => a("update:openInNewWindow", c.target.checked))
319
+ onChange: m[2] || (m[2] = (f) => l("update:openInNewWindow", f.target.checked))
324
320
  }, null, 40, X),
325
321
  q(v(t.value.linkNewWindow), 1)
326
322
  ])
@@ -328,11 +324,10 @@ import './MarkdownEditorLinkForm.css';const A = ["aria-disabled", "data-theme"],
328
324
  _: 1
329
325
  }, 8, ["disabled", "theme"]));
330
326
  }
331
- }), te = /* @__PURE__ */ T(_, [["__scopeId", "data-v-127342b7"]]);
327
+ }), de = /* @__PURE__ */ L(_, [["__scopeId", "data-v-127342b7"]]);
332
328
  export {
333
- le as M,
334
- L as _,
335
- te as a,
336
- g as b,
337
- T as c
329
+ te as M,
330
+ T as _,
331
+ de as a,
332
+ y as b
338
333
  };
@@ -0,0 +1,9 @@
1
+ const s = (t, r) => {
2
+ const o = t.__vccOpts || t;
3
+ for (const [c, e] of r)
4
+ o[c] = e;
5
+ return o;
6
+ };
7
+ export {
8
+ s as _
9
+ };
package/dist/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as a, M as d, a as t, b as n } from "./MarkdownEditorLinkForm-mq-BVYM_.js";
1
+ import { _ as a, M as d, a as t, b as n } from "./MarkdownEditorLinkForm-C7CGgA83.js";
2
2
  export {
3
3
  a as MarkdownEditorForm,
4
4
  d as MarkdownEditorImageForm,
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .markdown-editor__toolbar-icon[data-v-ec4329c1]{display:inline-flex;width:1rem;height:1rem}.markdown-editor__toolbar-icon[data-v-ec4329c1] svg{display:block;width:100%;height:100%}.markdown-editor__floating-menu[data-v-864eac67]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #202125;z-index:10;display:grid;gap:.125rem;width:max-content;max-width:calc(100vw - 1rem);min-width:14rem;padding:.1875rem;border:1px solid var(--markdown-border);border-radius:.5rem;box-shadow:0 .75rem 1.75rem #00000047;background:var(--markdown-background);color:var(--markdown-text)}.markdown-editor__floating-menu[data-theme=dark][data-v-864eac67]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}@media(prefers-color-scheme:dark){.markdown-editor__floating-menu[data-theme=auto][data-v-864eac67]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}}.markdown-editor__floating-menu button[data-v-864eac67]{display:grid;grid-template-columns:1.5rem 1fr;gap:.375rem;align-items:center;justify-content:flex-start;width:100%;min-height:2rem;padding:.25rem .5rem;border:0;border-radius:.375rem;white-space:nowrap;color:inherit;background:transparent;cursor:pointer;font:inherit;text-align:left}.markdown-editor__floating-menu button[data-v-864eac67]:hover{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__floating-menu button[data-v-864eac67]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:-2px}.markdown-editor__floating-menu button[aria-checked=true][data-v-864eac67]{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__floating-menu button[data-v-864eac67]:disabled{cursor:default;opacity:.42}.markdown-editor__floating-menu button[data-v-864eac67]:disabled:hover{color:inherit;background:transparent}.markdown-editor__floating-menu-icon[data-v-864eac67]{color:color-mix(in srgb,currentColor 84%,transparent);font-size:.75rem;font-weight:500;text-align:center}.markdown-editor__floating-menu--list button[data-v-864eac67]{grid-template-columns:1.5rem minmax(10rem,1fr) auto}.markdown-editor__floating-menu--list[data-v-864eac67] .markdown-editor__toolbar-icon{justify-self:center;width:1rem;height:1rem}.markdown-editor__floating-menu kbd[data-v-864eac67]{padding:.15rem .35rem;border:0;border-radius:999px;color:color-mix(in srgb,currentColor 86%,transparent);background:color-mix(in srgb,currentColor 14%,transparent);font:.7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-editor__image-actions[data-v-0158c930]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-focus-background: #e9efff;--markdown-focus-text: #1d3c93;--markdown-text: #202125;z-index:10;display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--markdown-border);border-radius:.5rem;box-shadow:0 .5rem 1.25rem #00000038;color:var(--markdown-text);background:var(--markdown-background)}.markdown-editor__image-actions[data-theme=dark][data-v-0158c930]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}@media(prefers-color-scheme:dark){.markdown-editor__image-actions[data-theme=auto][data-v-0158c930]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}}.markdown-editor__image-actions button[data-v-0158c930],.markdown-editor__image-actions select[data-v-0158c930]{box-sizing:border-box;height:2rem;border:0;border-radius:.375rem;color:inherit;background:transparent;font:inherit}.markdown-editor__image-actions button[data-v-0158c930]{min-width:2rem;padding:0 .5rem;cursor:pointer}.markdown-editor__image-actions select[data-v-0158c930]{min-width:7rem;padding:0 .5rem;cursor:pointer}.markdown-editor__image-actions button[data-v-0158c930]:hover,.markdown-editor__image-actions select[data-v-0158c930]:hover{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__image-actions button[data-v-0158c930]:focus-visible,.markdown-editor__image-actions select[data-v-0158c930]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:1px}.markdown-editor__toolbar-group[data-v-d653c970]{display:contents}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-d653c970]>:first-child{position:relative;margin-inline-start:.625rem}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-d653c970]>:first-child:after{position:absolute;inset-block:.125rem;inset-inline-start:-.375rem;border-inline-start:1px solid color-mix(in srgb,var(--markdown-border) 75%,transparent);content:""}button[data-v-d653c970]{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .375rem;border:0;border-radius:.375rem;color:color-mix(in srgb,var(--markdown-text) 88%,transparent);background:transparent;font:inherit;cursor:pointer}button[data-v-d653c970]:hover{color:var(--markdown-text);background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}button[data-v-d653c970]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:1px}button[aria-pressed=true][data-v-d653c970],button[aria-expanded=true][data-v-d653c970]{color:var(--markdown-text);background:color-mix(in srgb,var(--markdown-text) 22%,transparent)}button[data-v-d653c970]:disabled{cursor:default;opacity:.35}.markdown-editor__toolbar-heading[data-v-d653c970]{gap:.125rem;min-width:2.75rem}.markdown-editor__toolbar-heading[data-v-d653c970] .markdown-editor__toolbar-icon,.markdown-editor__toolbar-list[data-v-d653c970] .markdown-editor__toolbar-icon:last-child,.markdown-editor__toolbar-code[data-v-d653c970] .markdown-editor__toolbar-icon:last-child{width:.75rem;height:.75rem}.markdown-editor__toolbar-list[data-v-d653c970],.markdown-editor__toolbar-code[data-v-d653c970]{gap:.1875rem}.markdown-editor__toolbar-mode[data-v-d653c970]{gap:.1875rem;margin-inline-start:auto}.markdown-editor__toolbar-mode[data-v-d653c970] .markdown-editor__toolbar-icon:last-child{width:.75rem;height:.75rem}select[data-v-d653c970]{height:1.75rem;border:0;border-radius:.375rem;color:var(--markdown-text);background:transparent;font:inherit}select[data-v-d653c970]:hover{background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}.markdown-editor__color[data-v-d653c970]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;cursor:pointer}.markdown-editor__color[data-v-d653c970]:before{content:"A";line-height:1;padding-bottom:.125rem;border-bottom:.125rem solid currentColor}.markdown-editor__color[data-v-d653c970]:hover{background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}.markdown-editor__color input[data-v-d653c970]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.markdown-editor[data-v-cf11416f]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-muted-border: #e5e7eb;--markdown-text: #202125;--markdown-focus-background: #e9efff;--markdown-focus-text: #1d3c93;overflow:clip;border:1px solid var(--markdown-border);color:var(--markdown-text);background:var(--markdown-background)}.markdown-editor[data-theme=dark][data-v-cf11416f]{--markdown-background: #1e2024;--markdown-border: #464b55;--markdown-muted-border: #363a42;--markdown-text: #f1f3f5;--markdown-focus-background: #2d416e;--markdown-focus-text: #d7e2ff}@media(prefers-color-scheme:dark){.markdown-editor[data-theme=auto][data-v-cf11416f]{--markdown-background: #1e2024;--markdown-border: #464b55;--markdown-muted-border: #363a42;--markdown-text: #f1f3f5;--markdown-focus-background: #2d416e;--markdown-focus-text: #d7e2ff}}.markdown-editor__header[data-v-cf11416f],.markdown-editor__toolbar[data-v-cf11416f],.markdown-editor__modes[data-v-cf11416f]{display:flex;align-items:center}.markdown-editor__header[data-v-cf11416f]{justify-content:space-between;min-height:2.75rem;padding:.375rem .5rem;border-bottom:1px solid var(--markdown-muted-border)}.markdown-editor__modes[data-v-cf11416f],.markdown-editor__toolbar[data-v-cf11416f]{gap:.25rem}.markdown-editor__toolbar-group[data-v-cf11416f]{display:flex;align-items:center;gap:.25rem}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-cf11416f]{margin-inline-start:.125rem;padding-inline-start:.375rem;border-inline-start:1px solid var(--markdown-muted-border)}.markdown-editor__link-form[data-v-cf11416f]{display:flex;gap:.25rem;z-index:10;width:min(22rem,calc(100vw - 1rem));padding:.25rem;border:1px solid var(--markdown-border);border-radius:.375rem;box-shadow:0 .5rem 1.25rem #0000002e;background:var(--markdown-background)}.markdown-editor__link-form--extended[data-v-cf11416f]{display:grid;grid-template-columns:1fr auto auto}.markdown-editor__link-form--extended input[data-v-cf11416f]{grid-column:1 / -1}.markdown-editor__image-form[data-v-cf11416f]{display:grid;grid-template-columns:1fr auto auto}.markdown-editor__image-form input[data-v-cf11416f]{grid-column:1 / -1}.markdown-editor__color[data-v-cf11416f]{display:inline-flex;width:2rem;height:2rem;padding:.25rem;border-radius:.25rem}.markdown-editor__color[data-v-cf11416f]:focus-within,.markdown-editor__color[data-v-cf11416f]:hover{background:var(--markdown-focus-background)}.markdown-editor__color input[data-v-cf11416f]{width:100%;padding:0;border:0;background:transparent;cursor:pointer}.markdown-editor__code-language[data-v-cf11416f]{display:inline-flex;height:2rem;padding:0 .25rem;border-radius:.25rem;background:var(--markdown-focus-background)}.markdown-editor__code-language select[data-v-cf11416f]{max-width:8rem;border:0;color:inherit;background:transparent;font:inherit}.markdown-editor__link-form input[data-v-cf11416f]{flex:1;min-width:0;height:2rem;padding:0 .5rem;border:1px solid var(--markdown-border);border-radius:.25rem;color:inherit;background:var(--markdown-background);font:inherit}.markdown-editor__link-form button[data-v-cf11416f]{min-width:2rem;height:2rem;padding:0 .5rem;border:0;border-radius:.25rem;color:var(--markdown-text);background:transparent;font:inherit;cursor:pointer}.markdown-editor__link-form button[data-v-cf11416f]:hover,.markdown-editor__link-form button[data-v-cf11416f]:focus-visible{outline:none;color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor button[data-v-cf11416f]{min-width:2rem;height:2rem;padding:0 .5rem;border:0;border-radius:.25rem;color:inherit;background:transparent;font:inherit;cursor:pointer}.markdown-editor button[aria-selected=true][data-v-cf11416f],.markdown-editor button[aria-pressed=true][data-v-cf11416f],.markdown-editor button[data-v-cf11416f]:hover,.markdown-editor button[data-v-cf11416f]:focus-visible{outline:none;color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__toolbar[data-v-cf11416f]{position:sticky;z-index:1;top:0;gap:.125rem;min-height:2.5rem;padding:.25rem .375rem;border-bottom:1px solid var(--markdown-muted-border);background:color-mix(in srgb,var(--markdown-background) 96%,var(--markdown-text));flex-wrap:wrap}.markdown-editor__hosts[data-v-cf11416f]{min-width:0;min-height:20rem;overflow:auto;resize:vertical}.markdown-editor__hosts--split[data-v-cf11416f]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.markdown-editor__hosts--split[data-v-cf11416f]>:last-child{border-left:1px solid var(--markdown-muted-border)}.markdown-editor__visual[data-v-cf11416f]{position:relative}.markdown-editor[data-v-cf11416f] .ProseMirror,.markdown-editor[data-v-cf11416f] .cm-editor{min-height:20rem}.markdown-editor[data-v-cf11416f] .cm-content{caret-color:var(--markdown-text)}.markdown-editor[data-v-cf11416f] .cm-cursor,.markdown-editor[data-v-cf11416f] .cm-dropCursor{border-left-color:var(--markdown-text)}.markdown-editor[data-v-cf11416f] .ProseMirror{padding:1rem;outline:none;line-height:1.6;cursor:text}.markdown-editor[data-v-cf11416f] .ProseMirror ul,.markdown-editor[data-v-cf11416f] .ProseMirror ol{margin-block:.75rem;padding-inline-start:1.75rem}.markdown-editor[data-v-cf11416f] .ProseMirror ul{list-style:disc outside}.markdown-editor[data-v-cf11416f] .ProseMirror ol{list-style:decimal outside}.markdown-editor[data-v-cf11416f] .ProseMirror ul ul{list-style-type:circle}.markdown-editor[data-v-cf11416f] .ProseMirror ul ul ul{list-style-type:square}.markdown-editor[data-v-cf11416f] .ProseMirror li>p{margin-block:0}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote{margin:1rem 0;padding-inline-start:.75rem;border-inline-start:2px solid #5282ff}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote>:first-child{margin-block-start:0}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote>:last-child{margin-block-end:0}.markdown-editor[data-v-cf11416f] .ProseMirror pre{position:relative;overflow:auto;padding:1.75rem .75rem .75rem;border-radius:.375rem;color:#e6edf3;background:#161b22;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]{position:relative}.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]:hover:after,.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]:focus:after{position:absolute;z-index:3;bottom:calc(100% + .35rem);left:0;width:max-content;max-width:min(24rem,80vw);padding:.25rem .4rem;overflow:hidden;border-radius:.25rem;color:var(--markdown-background);background:var(--markdown-text);content:attr(data-link-tooltip);font:.75rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.markdown-editor[data-v-cf11416f] .markdown-editor__code-language{position:absolute;top:.35rem;right:.6rem;height:1.25rem;padding:0 1.1rem 0 .25rem;border:0;border-radius:.25rem;color:#8b949e;background:transparent;cursor:pointer;font:.72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.markdown-editor[data-v-cf11416f] .markdown-editor__code-language:hover,.markdown-editor[data-v-cf11416f] .markdown-editor__code-language:focus-visible{outline:none;color:#e6edf3;background:#2d333b}.markdown-editor[data-v-cf11416f] .markdown-editor__code-line-number{display:inline-block;width:2.25rem;margin-right:.75rem;-webkit-user-select:none;user-select:none;color:#6e7681;text-align:right}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--comment{color:#8b949e}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--keyword{color:#ff7b72}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--number{color:#79c0ff}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--string{color:#a5d6ff}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--tag{color:#7ee787}.markdown-editor[data-v-cf11416f] .ProseMirror table{width:100%;margin:1rem 0;border-collapse:collapse}.markdown-editor[data-v-cf11416f] .ProseMirror th,.markdown-editor[data-v-cf11416f] .ProseMirror td{position:relative;min-width:5rem;padding:.45rem .6rem;border:1px solid var(--markdown-border);text-align:left}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source-original{display:none}.markdown-editor[data-v-cf11416f] [data-math-error]{color:#c95050}.markdown-editor[data-v-cf11416f] .markdown-editor__math-error{margin:0;font:inherit}.markdown-editor[data-v-cf11416f] .markdown-editor__image-resize-handle{position:fixed;z-index:1;width:1.35rem;height:1.35rem;margin:0;padding:0;border:2px solid var(--markdown-background);border-radius:50%;color:var(--markdown-background);background:var(--markdown-accent);box-shadow:0 .1rem .35rem #00000059;cursor:nwse-resize;font-size:.8rem;line-height:1;vertical-align:bottom}.markdown-editor[data-v-cf11416f] img.pm-node-selected{outline:2px solid var(--markdown-accent);outline-offset:2px}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source{display:inline-block;width:fit-content;min-width:0;max-width:100%;margin:0;border:1px solid #6ba9ff;border-radius:.25rem;background:var(--markdown-background);box-shadow:0 0 0 1px #6ba9ff33}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-editor{height:auto;min-height:0;max-height:14rem;overflow:auto;background:transparent}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-scroller{height:auto;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-content{min-height:0;padding:.4rem .5rem}.markdown-editor__table-popover{position:absolute;z-index:4;top:calc(100% + .4rem);left:0;display:grid;gap:.1875rem;min-width:11rem;padding:.4375rem;border:1px solid color-mix(in srgb,var(--markdown-border) 82%,var(--markdown-text));border-radius:.5rem;background:var(--markdown-background);box-shadow:0 .75rem 1.5rem #0000004d}.markdown-editor__table-popover-action{width:100%;min-height:2rem;min-width:0;padding:.4rem .55rem;border:0;border-radius:.25rem;color:var(--markdown-text);background:transparent;font:inherit;font-size:.75rem;line-height:1.2;text-align:left}.markdown-editor__table-popover-action:hover,.markdown-editor__table-popover-action:focus-visible{outline:none;background:color-mix(in srgb,var(--markdown-background) 84%,var(--markdown-text))}.markdown-editor__table-popover-action--danger{margin-top:.1875rem;color:#c95050}.markdown-editor__table-popover-action--danger+.markdown-editor__table-popover-action--danger{margin-top:0}.markdown-editor__table-popover-action--danger:hover,.markdown-editor__table-popover-action--danger:focus-visible{color:#fff;background:#a63232}.markdown-editor__table-popover-action:disabled{cursor:not-allowed;opacity:.45}.markdown-editor[data-v-cf11416f] .ProseMirror th{background:color-mix(in srgb,var(--markdown-background) 88%,var(--markdown-text))}.markdown-editor[data-v-cf11416f] .markdown-editor__folded-content{display:none}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-content{position:relative}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading{position:relative;padding-left:1.4rem}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading:before{position:absolute;top:.2em;left:0;width:1rem;height:1rem;color:var(--markdown-focus-text);content:"⌄";cursor:pointer;font-size:.9em;line-height:1rem;text-align:center}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading--folded:before{content:"›"}.markdown-editor[data-v-cf11416f] .ProseMirror[data-placeholder]:has(>p:only-child>.ProseMirror-trailingBreak):before{position:absolute;color:#8b919e;content:attr(data-placeholder);pointer-events:none}.markdown-editor[data-v-cf11416f] .cm-scroller{min-height:20rem}@media(max-width:720px){.markdown-editor__hosts--split[data-v-cf11416f]{grid-template-columns:1fr}.markdown-editor__hosts--split[data-v-cf11416f]>:last-child{border-top:1px solid #e5e7eb;border-left:0}}@media(max-width:480px){.markdown-editor__header[data-v-cf11416f]{align-items:flex-start}.markdown-editor__modes[data-v-cf11416f]{overflow-x:auto;flex-wrap:nowrap}.markdown-editor__toolbar[data-v-cf11416f]{padding-inline:.25rem}}
1
+ .markdown-editor__toolbar-icon[data-v-ec4329c1]{display:inline-flex;width:1rem;height:1rem}.markdown-editor__toolbar-icon[data-v-ec4329c1] svg{display:block;width:100%;height:100%}.markdown-editor__floating-menu[data-v-864eac67]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #202125;z-index:10;display:grid;gap:.125rem;width:max-content;max-width:calc(100vw - 1rem);min-width:14rem;padding:.1875rem;border:1px solid var(--markdown-border);border-radius:.5rem;box-shadow:0 .75rem 1.75rem #00000047;background:var(--markdown-background);color:var(--markdown-text)}.markdown-editor__floating-menu[data-theme=dark][data-v-864eac67]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}@media(prefers-color-scheme:dark){.markdown-editor__floating-menu[data-theme=auto][data-v-864eac67]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}}.markdown-editor__floating-menu button[data-v-864eac67]{display:grid;grid-template-columns:1.5rem 1fr;gap:.375rem;align-items:center;justify-content:flex-start;width:100%;min-height:2rem;padding:.25rem .5rem;border:0;border-radius:.375rem;white-space:nowrap;color:inherit;background:transparent;cursor:pointer;font:inherit;text-align:left}.markdown-editor__floating-menu button[data-v-864eac67]:hover{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__floating-menu button[data-v-864eac67]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:-2px}.markdown-editor__floating-menu button[aria-checked=true][data-v-864eac67]{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__floating-menu button[data-v-864eac67]:disabled{cursor:default;opacity:.42}.markdown-editor__floating-menu button[data-v-864eac67]:disabled:hover{color:inherit;background:transparent}.markdown-editor__floating-menu-icon[data-v-864eac67]{color:color-mix(in srgb,currentColor 84%,transparent);font-size:.75rem;font-weight:500;text-align:center}.markdown-editor__floating-menu--list button[data-v-864eac67]{grid-template-columns:1.5rem minmax(10rem,1fr) auto}.markdown-editor__floating-menu--list[data-v-864eac67] .markdown-editor__toolbar-icon{justify-self:center;width:1rem;height:1rem}.markdown-editor__floating-menu kbd[data-v-864eac67]{padding:.15rem .35rem;border:0;border-radius:999px;color:color-mix(in srgb,currentColor 86%,transparent);background:color-mix(in srgb,currentColor 14%,transparent);font:.7rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-editor__image-actions[data-v-0158c930]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-focus-background: #e9efff;--markdown-focus-text: #1d3c93;--markdown-text: #202125;z-index:10;display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--markdown-border);border-radius:.5rem;box-shadow:0 .5rem 1.25rem #00000038;color:var(--markdown-text);background:var(--markdown-background)}.markdown-editor__image-actions[data-theme=dark][data-v-0158c930]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}@media(prefers-color-scheme:dark){.markdown-editor__image-actions[data-theme=auto][data-v-0158c930]{--markdown-background: #303236;--markdown-border: #45484e;--markdown-focus-background: #526da8;--markdown-focus-text: #fff;--markdown-text: #f1f3f5}}.markdown-editor__image-actions button[data-v-0158c930],.markdown-editor__image-actions select[data-v-0158c930]{box-sizing:border-box;height:2rem;border:0;border-radius:.375rem;color:inherit;background:transparent;font:inherit}.markdown-editor__image-actions button[data-v-0158c930]{min-width:2rem;padding:0 .5rem;cursor:pointer}.markdown-editor__image-actions select[data-v-0158c930]{min-width:7rem;padding:0 .5rem;cursor:pointer}.markdown-editor__image-actions button[data-v-0158c930]:hover,.markdown-editor__image-actions select[data-v-0158c930]:hover{color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__image-actions button[data-v-0158c930]:focus-visible,.markdown-editor__image-actions select[data-v-0158c930]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:1px}.markdown-editor__toolbar-group[data-v-d653c970]{display:contents}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-d653c970]>:first-child{position:relative;margin-inline-start:.625rem}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-d653c970]>:first-child:after{position:absolute;inset-block:.125rem;inset-inline-start:-.375rem;border-inline-start:1px solid color-mix(in srgb,var(--markdown-border) 75%,transparent);content:""}button[data-v-d653c970]{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;padding:0 .375rem;border:0;border-radius:.375rem;color:color-mix(in srgb,var(--markdown-text) 88%,transparent);background:transparent;font:inherit;cursor:pointer}button[data-v-d653c970]:hover{color:var(--markdown-text);background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}button[data-v-d653c970]:focus-visible{outline:2px solid var(--markdown-focus-text);outline-offset:1px}button[aria-pressed=true][data-v-d653c970],button[aria-expanded=true][data-v-d653c970]{color:var(--markdown-text);background:color-mix(in srgb,var(--markdown-text) 22%,transparent)}button[data-v-d653c970]:disabled{cursor:default;opacity:.35}.markdown-editor__toolbar-heading[data-v-d653c970]{gap:.125rem;min-width:2.75rem}.markdown-editor__toolbar-heading[data-v-d653c970] .markdown-editor__toolbar-icon,.markdown-editor__toolbar-list[data-v-d653c970] .markdown-editor__toolbar-icon:last-child,.markdown-editor__toolbar-code[data-v-d653c970] .markdown-editor__toolbar-icon:last-child{width:.75rem;height:.75rem}.markdown-editor__toolbar-list[data-v-d653c970],.markdown-editor__toolbar-code[data-v-d653c970]{gap:.1875rem}.markdown-editor__toolbar-mode[data-v-d653c970]{gap:.1875rem;margin-inline-start:auto}.markdown-editor__toolbar-mode[data-v-d653c970] .markdown-editor__toolbar-icon:last-child{width:.75rem;height:.75rem}select[data-v-d653c970]{height:1.75rem;border:0;border-radius:.375rem;color:var(--markdown-text);background:transparent;font:inherit}select[data-v-d653c970]:hover{background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}.markdown-editor__color[data-v-d653c970]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.375rem;cursor:pointer}.markdown-editor__color[data-v-d653c970]:before{content:"A";line-height:1;padding-bottom:.125rem;border-bottom:.125rem solid currentColor}.markdown-editor__color[data-v-d653c970]:hover{background:color-mix(in srgb,var(--markdown-text) 10%,transparent)}.markdown-editor__color input[data-v-d653c970]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.markdown-editor[data-v-cf11416f]{--markdown-background: #fff;--markdown-border: #d8dbe0;--markdown-muted-border: #e5e7eb;--markdown-text: #202125;--markdown-focus-background: #e9efff;--markdown-focus-text: #1d3c93;overflow:clip;border:1px solid var(--markdown-border);color:var(--markdown-text);background:var(--markdown-background)}.markdown-editor[data-theme=dark][data-v-cf11416f]{--markdown-background: #1e2024;--markdown-border: #464b55;--markdown-muted-border: #363a42;--markdown-text: #f1f3f5;--markdown-focus-background: #2d416e;--markdown-focus-text: #d7e2ff}@media(prefers-color-scheme:dark){.markdown-editor[data-theme=auto][data-v-cf11416f]{--markdown-background: #1e2024;--markdown-border: #464b55;--markdown-muted-border: #363a42;--markdown-text: #f1f3f5;--markdown-focus-background: #2d416e;--markdown-focus-text: #d7e2ff}}.markdown-editor__header[data-v-cf11416f],.markdown-editor__toolbar[data-v-cf11416f],.markdown-editor__modes[data-v-cf11416f]{display:flex;align-items:center}.markdown-editor__header[data-v-cf11416f]{justify-content:space-between;min-height:2.75rem;padding:.375rem .5rem;border-bottom:1px solid var(--markdown-muted-border)}.markdown-editor__modes[data-v-cf11416f],.markdown-editor__toolbar[data-v-cf11416f]{gap:.25rem}.markdown-editor__toolbar-group[data-v-cf11416f]{display:flex;align-items:center;gap:.25rem}.markdown-editor__toolbar-group+.markdown-editor__toolbar-group[data-v-cf11416f]{margin-inline-start:.125rem;padding-inline-start:.375rem;border-inline-start:1px solid var(--markdown-muted-border)}.markdown-editor__link-form[data-v-cf11416f]{display:flex;gap:.25rem;z-index:10;width:min(22rem,calc(100vw - 1rem));padding:.25rem;border:1px solid var(--markdown-border);border-radius:.375rem;box-shadow:0 .5rem 1.25rem #0000002e;background:var(--markdown-background)}.markdown-editor__link-form--extended[data-v-cf11416f]{display:grid;grid-template-columns:1fr auto auto}.markdown-editor__link-form--extended input[data-v-cf11416f]{grid-column:1 / -1}.markdown-editor__image-form[data-v-cf11416f]{display:grid;grid-template-columns:1fr auto auto}.markdown-editor__image-form input[data-v-cf11416f]{grid-column:1 / -1}.markdown-editor__color[data-v-cf11416f]{display:inline-flex;width:2rem;height:2rem;padding:.25rem;border-radius:.25rem}.markdown-editor__color[data-v-cf11416f]:focus-within,.markdown-editor__color[data-v-cf11416f]:hover{background:var(--markdown-focus-background)}.markdown-editor__color input[data-v-cf11416f]{width:100%;padding:0;border:0;background:transparent;cursor:pointer}.markdown-editor__code-language[data-v-cf11416f]{display:inline-flex;height:2rem;padding:0 .25rem;border-radius:.25rem;background:var(--markdown-focus-background)}.markdown-editor__code-language select[data-v-cf11416f]{max-width:8rem;border:0;color:inherit;background:transparent;font:inherit}.markdown-editor__link-form input[data-v-cf11416f]{flex:1;min-width:0;height:2rem;padding:0 .5rem;border:1px solid var(--markdown-border);border-radius:.25rem;color:inherit;background:var(--markdown-background);font:inherit}.markdown-editor__link-form button[data-v-cf11416f]{min-width:2rem;height:2rem;padding:0 .5rem;border:0;border-radius:.25rem;color:var(--markdown-text);background:transparent;font:inherit;cursor:pointer}.markdown-editor__link-form button[data-v-cf11416f]:hover,.markdown-editor__link-form button[data-v-cf11416f]:focus-visible{outline:none;color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor button[data-v-cf11416f]{min-width:2rem;height:2rem;padding:0 .5rem;border:0;border-radius:.25rem;color:inherit;background:transparent;font:inherit;cursor:pointer}.markdown-editor button[aria-selected=true][data-v-cf11416f],.markdown-editor button[aria-pressed=true][data-v-cf11416f],.markdown-editor button[data-v-cf11416f]:hover,.markdown-editor button[data-v-cf11416f]:focus-visible{outline:none;color:var(--markdown-focus-text);background:var(--markdown-focus-background)}.markdown-editor__toolbar[data-v-cf11416f]{position:sticky;z-index:1;top:0;gap:.125rem;min-height:2.5rem;padding:.25rem .375rem;border-bottom:1px solid var(--markdown-muted-border);background:color-mix(in srgb,var(--markdown-background) 96%,var(--markdown-text));flex-wrap:wrap}.markdown-editor__hosts[data-v-cf11416f]{min-width:0;min-height:20rem;overflow:auto;resize:vertical}.markdown-editor__hosts--split[data-v-cf11416f]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.markdown-editor__hosts--split[data-v-cf11416f]>:last-child{border-left:1px solid var(--markdown-muted-border)}.markdown-editor__visual[data-v-cf11416f]{position:relative}.markdown-editor[data-v-cf11416f] .ProseMirror,.markdown-editor[data-v-cf11416f] .cm-editor{min-height:20rem}.markdown-editor[data-v-cf11416f] .cm-content{caret-color:var(--markdown-text)}.markdown-editor[data-v-cf11416f] .cm-cursor,.markdown-editor[data-v-cf11416f] .cm-dropCursor{border-left-color:var(--markdown-text)}.markdown-editor[data-v-cf11416f] .ProseMirror{padding:1rem;outline:none;line-height:1.6;cursor:text}.markdown-editor[data-v-cf11416f] .ProseMirror h1,.markdown-editor[data-v-cf11416f] .ProseMirror h2,.markdown-editor[data-v-cf11416f] .ProseMirror h3,.markdown-editor[data-v-cf11416f] .ProseMirror h4,.markdown-editor[data-v-cf11416f] .ProseMirror h5,.markdown-editor[data-v-cf11416f] .ProseMirror h6{margin-block:1.25em .5em;font-weight:600;line-height:1.25}.markdown-editor[data-v-cf11416f] .ProseMirror h1{font-size:2em}.markdown-editor[data-v-cf11416f] .ProseMirror h2{font-size:1.5em}.markdown-editor[data-v-cf11416f] .ProseMirror h3{font-size:1.25em}.markdown-editor[data-v-cf11416f] .ProseMirror h4{font-size:1.125em}.markdown-editor[data-v-cf11416f] .ProseMirror h5{font-size:1em}.markdown-editor[data-v-cf11416f] .ProseMirror h6{font-size:.875em}.markdown-editor[data-v-cf11416f] .ProseMirror>:first-child{margin-block-start:0}.markdown-editor[data-v-cf11416f] .ProseMirror a{color:var(--markdown-focus-text);text-decoration:underline;text-underline-offset:.15em}.markdown-editor[data-v-cf11416f] .ProseMirror code{padding:.15em .35em;border-radius:.25rem;background:var(--markdown-focus-background);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.markdown-editor[data-v-cf11416f] .ProseMirror pre code{padding:0;border-radius:0;background:transparent;font-size:inherit}.markdown-editor[data-v-cf11416f] .ProseMirror ul,.markdown-editor[data-v-cf11416f] .ProseMirror ol{margin-block:.75rem;padding-inline-start:1.75rem}.markdown-editor[data-v-cf11416f] .ProseMirror ul{list-style:disc outside}.markdown-editor[data-v-cf11416f] .ProseMirror ol{list-style:decimal outside}.markdown-editor[data-v-cf11416f] .ProseMirror ul ul{list-style-type:circle}.markdown-editor[data-v-cf11416f] .ProseMirror ul ul ul{list-style-type:square}.markdown-editor[data-v-cf11416f] .ProseMirror li>p{margin-block:0}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote{margin:1rem 0;padding-inline-start:.75rem;border-inline-start:2px solid #5282ff}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote>:first-child{margin-block-start:0}.markdown-editor[data-v-cf11416f] .ProseMirror blockquote>:last-child{margin-block-end:0}.markdown-editor[data-v-cf11416f] .ProseMirror pre{position:relative;overflow:auto;padding:1.75rem .75rem .75rem;border-radius:.375rem;color:#e6edf3;background:#161b22;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.5}.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]{position:relative}.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]:hover:after,.markdown-editor[data-v-cf11416f] .ProseMirror a[data-link-tooltip]:focus:after{position:absolute;z-index:3;bottom:calc(100% + .35rem);left:0;width:max-content;max-width:min(24rem,80vw);padding:.25rem .4rem;overflow:hidden;border-radius:.25rem;color:var(--markdown-background);background:var(--markdown-text);content:attr(data-link-tooltip);font:.75rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.markdown-editor[data-v-cf11416f] .markdown-editor__code-language{position:absolute;top:.35rem;right:.6rem;height:1.25rem;padding:0 1.1rem 0 .25rem;border:0;border-radius:.25rem;color:#8b949e;background:transparent;cursor:pointer;font:.72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.markdown-editor[data-v-cf11416f] .markdown-editor__code-language:hover,.markdown-editor[data-v-cf11416f] .markdown-editor__code-language:focus-visible{outline:none;color:#e6edf3;background:#2d333b}.markdown-editor[data-v-cf11416f] .markdown-editor__code-line-number{display:inline-block;width:2.25rem;margin-right:.75rem;-webkit-user-select:none;user-select:none;color:#6e7681;text-align:right}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--comment{color:#8b949e}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--keyword{color:#ff7b72}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--number{color:#79c0ff}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--string{color:#a5d6ff}.markdown-editor[data-v-cf11416f] .markdown-editor__code-token--tag{color:#7ee787}.markdown-editor[data-v-cf11416f] .ProseMirror table{width:100%;margin:1rem 0;border-collapse:collapse}.markdown-editor[data-v-cf11416f] .ProseMirror th,.markdown-editor[data-v-cf11416f] .ProseMirror td{position:relative;min-width:5rem;padding:.45rem .6rem;border:1px solid var(--markdown-border);text-align:left}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source-original{display:none}.markdown-editor[data-v-cf11416f] [data-math-error]{color:#c95050}.markdown-editor[data-v-cf11416f] .markdown-editor__math-error{margin:0;font:inherit}.markdown-editor[data-v-cf11416f] .markdown-editor__image-resize-handle{position:fixed;z-index:1;width:1.35rem;height:1.35rem;margin:0;padding:0;border:2px solid var(--markdown-background);border-radius:50%;color:var(--markdown-background);background:var(--markdown-accent);box-shadow:0 .1rem .35rem #00000059;cursor:nwse-resize;font-size:.8rem;line-height:1;vertical-align:bottom}.markdown-editor[data-v-cf11416f] img.pm-node-selected{outline:2px solid var(--markdown-accent);outline-offset:2px}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source{display:inline-block;width:fit-content;min-width:0;max-width:100%;margin:0;border:1px solid #6ba9ff;border-radius:.25rem;background:var(--markdown-background);box-shadow:0 0 0 1px #6ba9ff33}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-editor{height:auto;min-height:0;max-height:14rem;overflow:auto;background:transparent}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-scroller{height:auto;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.markdown-editor[data-v-cf11416f] .markdown-editor__atomic-source .cm-content{min-height:0;padding:.4rem .5rem}.markdown-editor__table-popover{position:absolute;z-index:4;top:calc(100% + .4rem);left:0;display:grid;gap:.1875rem;min-width:11rem;padding:.4375rem;border:1px solid color-mix(in srgb,var(--markdown-border) 82%,var(--markdown-text));border-radius:.5rem;background:var(--markdown-background);box-shadow:0 .75rem 1.5rem #0000004d}.markdown-editor__table-popover-action{width:100%;min-height:2rem;min-width:0;padding:.4rem .55rem;border:0;border-radius:.25rem;color:var(--markdown-text);background:transparent;font:inherit;font-size:.75rem;line-height:1.2;text-align:left}.markdown-editor__table-popover-action:hover,.markdown-editor__table-popover-action:focus-visible{outline:none;background:color-mix(in srgb,var(--markdown-background) 84%,var(--markdown-text))}.markdown-editor__table-popover-action--danger{margin-top:.1875rem;color:#c95050}.markdown-editor__table-popover-action--danger+.markdown-editor__table-popover-action--danger{margin-top:0}.markdown-editor__table-popover-action--danger:hover,.markdown-editor__table-popover-action--danger:focus-visible{color:#fff;background:#a63232}.markdown-editor__table-popover-action:disabled{cursor:not-allowed;opacity:.45}.markdown-editor[data-v-cf11416f] .ProseMirror th{background:color-mix(in srgb,var(--markdown-background) 88%,var(--markdown-text))}.markdown-editor[data-v-cf11416f] .markdown-editor__folded-content{display:none}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-content{position:relative}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading{position:relative;padding-left:1.4rem}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading:before{position:absolute;top:.2em;left:0;width:1rem;height:1rem;color:var(--markdown-focus-text);content:"⌄";cursor:pointer;font-size:.9em;line-height:1rem;text-align:center}.markdown-editor[data-v-cf11416f] .markdown-editor__folding-heading--folded:before{content:"›"}.markdown-editor[data-v-cf11416f] .ProseMirror[data-placeholder]:has(>p:only-child>.ProseMirror-trailingBreak):before{position:absolute;color:#8b919e;content:attr(data-placeholder);pointer-events:none}.markdown-editor[data-v-cf11416f] .cm-scroller{min-height:20rem}@media(max-width:720px){.markdown-editor__hosts--split[data-v-cf11416f]{grid-template-columns:1fr}.markdown-editor__hosts--split[data-v-cf11416f]>:last-child{border-top:1px solid #e5e7eb;border-left:0}}@media(max-width:480px){.markdown-editor__header[data-v-cf11416f]{align-items:flex-start}.markdown-editor__modes[data-v-cf11416f]{overflow-x:auto;flex-wrap:nowrap}.markdown-editor__toolbar[data-v-cf11416f]{padding-inline:.25rem}}