@cocoar/vue-markdown 2.7.0 → 2.8.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.
@@ -1,6 +1,42 @@
1
1
  import { PropType, VNode } from 'vue';
2
2
  import { MarkdownNode } from '@cocoar/vue-markdown-core';
3
3
  import { MarkdownViewerRenderers } from './registry';
4
+ /**
5
+ * Frontmatter renderer — the leading `---\n…\n---` YAML block. Rendered as plain
6
+ * `key: value` lines (no card chrome), styled muted + italic via CSS so it reads
7
+ * as document metadata. The YAML is parsed at parse-time (markdown-core), so this
8
+ * renderer just reads the flattened `entries`. When the YAML couldn't be parsed
9
+ * into a map, it falls back to the raw text so nothing is hidden.
10
+ */
11
+ export declare const DefaultFrontmatter: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
12
+ node: {
13
+ type: PropType<MarkdownNode>;
14
+ required: true;
15
+ };
16
+ renderChildren: {
17
+ type: PropType<() => VNode[]>;
18
+ required: true;
19
+ };
20
+ renderNodes: {
21
+ type: PropType<(nodes: readonly MarkdownNode[]) => VNode[]>;
22
+ required: true;
23
+ };
24
+ }>, () => VNode<import('vue').RendererNode, import('vue').RendererElement, {
25
+ [key: string]: any;
26
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
+ node: {
28
+ type: PropType<MarkdownNode>;
29
+ required: true;
30
+ };
31
+ renderChildren: {
32
+ type: PropType<() => VNode[]>;
33
+ required: true;
34
+ };
35
+ renderNodes: {
36
+ type: PropType<(nodes: readonly MarkdownNode[]) => VNode[]>;
37
+ required: true;
38
+ };
39
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
4
40
  export declare const DefaultHeading: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
5
41
  node: {
6
42
  type: PropType<MarkdownNode>;
@@ -1 +1 @@
1
- {"version":3,"file":"default-renderers.d.ts","sourceRoot":"","sources":["../src/default-renderers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default-renderers.d.ts","sourceRoot":"","sources":["../src/default-renderers.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { MarkdownNode } from '@cocoar/vue-markdown-core';
1
+ import { FrontmatterEntry, MarkdownNode } from '@cocoar/vue-markdown-core';
2
2
  export declare function headingDepth(node: MarkdownNode): 1 | 2 | 3 | 4 | 5 | 6;
3
3
  export declare function headingAnchor(node: MarkdownNode): string | null;
4
4
  export declare function codeBlockLanguage(node: MarkdownNode): string;
@@ -16,6 +16,14 @@ export declare function imageTitle(node: MarkdownNode): string | null;
16
16
  export declare function isTableColumnRightAligned(tableNode: MarkdownNode, columnIndex: number): boolean;
17
17
  export declare function isTableColumnCenterAligned(tableNode: MarkdownNode, columnIndex: number): boolean;
18
18
  export declare function unsupportedType(node: MarkdownNode): string;
19
+ /**
20
+ * Display-ready key/value rows of a `frontmatter` node, pre-flattened at parse
21
+ * time (see markdown-core's `parseFrontmatter`). Empty when the YAML was a
22
+ * scalar/array or failed to parse — the renderer then falls back to the raw text.
23
+ */
24
+ export declare function frontmatterEntries(node: MarkdownNode): FrontmatterEntry[];
25
+ /** The original YAML text of a `frontmatter` node (round-trip source / fallback). */
26
+ export declare function frontmatterRaw(node: MarkdownNode): string;
19
27
  /**
20
28
  * Read a colorSpan node's color attribute and re-validate it through the
21
29
  * sanitizer. Defence in depth — a custom transform could in principle inject
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE7E,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAUtE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAG5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE1D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAS1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAIzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAGnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAG1D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAIhE"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpG,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAUtE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAG5D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAE1D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAS1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAIzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG1D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAGnD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAG5D;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAE/F;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAEhG;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,GAAG,gBAAgB,EAAE,CAUzE;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAGzD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAIhE"}
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .coar-markdown{--coar-markdown-text:var(--coar-text-neutral-primary);--coar-markdown-link:var(--coar-text-brand-primary,var(--coar-text-neutral-primary));--coar-markdown-muted-text:var(--coar-text-neutral-tertiary);--coar-markdown-border:var(--coar-border-neutral-tertiary);--coar-markdown-surface:var(--coar-background-neutral-primary);--coar-markdown-surface-muted:var(--coar-background-neutral-tertiary,var(--coar-background-neutral-primary));--coar-markdown-radius:var(--coar-radius-xs);--coar-markdown-space-1:var(--coar-spacing-s,.5rem);--coar-markdown-space-2:var(--coar-spacing-m,1rem);--coar-markdown-heading-block-start:var(--coar-spacing-xl,2rem);color:var(--coar-markdown-text);display:block}.coar-markdown :where(h1,h2,h3,h4,h5,h6){font-family:var(--coar-font-family-title,inherit);color:var(--coar-markdown-text)}.coar-markdown h1{font-size:var(--coar-font-size-xl);font-weight:var(--coar-font-weight-bold);line-height:var(--coar-line-height-tight)}.coar-markdown h2{font-size:var(--coar-font-size-l);font-weight:var(--coar-font-weight-bold);line-height:1.25}.coar-markdown h3{font-size:var(--coar-font-size-m);font-weight:var(--coar-font-weight-semi-bold);line-height:var(--coar-line-height-snug)}.coar-markdown h4{font-size:var(--coar-font-size-s);font-weight:var(--coar-font-weight-semi-bold);line-height:1.35}.coar-markdown h5{font-size:var(--coar-font-size-xs);font-weight:var(--coar-font-weight-semi-bold);line-height:var(--coar-line-height-normal)}.coar-markdown h6{font-size:var(--coar-font-size-xxs);font-weight:var(--coar-font-weight-medium);line-height:1.45}.coar-markdown-heading,.coar-markdown-paragraph,.coar-markdown-blockquote,.coar-markdown-list,.coar-markdown-code-block,.coar-markdown-table,.coar-markdown-hr,.coar-markdown :where(p,blockquote,ul,ol,pre,table,hr){margin:0}.coar-markdown>:where(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,pre,table,hr,.coar-code-block-host,.coar-table-host),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,pre,table,hr,.coar-code-block-host,.coar-table-host){margin-block:0 var(--coar-markdown-space-2)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6){margin-block-start:var(--coar-markdown-heading-block-start)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6)+:where(h1,h2,h3,h4,h5,h6),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6)+:where(h1,h2,h3,h4,h5,h6){margin-block-start:var(--coar-markdown-space-1)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6):first-child,.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6):first-child{margin-block-start:0}.coar-markdown :where(blockquote),.coar-markdown-blockquote{padding-inline:var(--coar-markdown-space-2);border-left:2px solid var(--coar-markdown-border);color:var(--coar-text-neutral-secondary)}.coar-markdown :where(ul,ol),.coar-markdown-list{padding-inline-start:var(--coar-spacing-l,1.5rem);list-style-position:outside}.coar-markdown :where(ul),.coar-markdown-list--unordered{list-style-type:disc}.coar-markdown :where(ol),.coar-markdown-list--ordered{list-style-type:decimal}.coar-markdown :where(li),.coar-markdown-list-item{margin-block:.25em;display:list-item}.coar-markdown :where(li,td,th)>:where(p){margin-block:0}.coar-markdown :where(li[data-item-type=task]){margin-left:-1.25em;padding-left:1.5em;list-style:none;position:relative}.coar-markdown :where(li[data-item-type=task]):before{content:"";border:1.5px solid var(--coar-border-neutral-secondary,var(--coar-border-neutral));border-radius:var(--coar-radius-xs,2px);background:var(--coar-background-neutral-primary);cursor:pointer;box-sizing:border-box;width:14px;height:14px;transition:background-color .1s,border-color .1s;position:absolute;top:.45em;left:0}.coar-markdown :where(li[data-item-type=task][data-checked=true]):before{background:var(--coar-background-accent-primary);border-color:var(--coar-background-accent-primary)}.coar-markdown :where(li[data-item-type=task][data-checked=true]):after{content:"";border-left:2px solid var(--coar-text-on-bold,#fff);border-bottom:2px solid var(--coar-text-on-bold,#fff);pointer-events:none;width:8px;height:5px;position:absolute;top:calc(.45em + 2px);left:3px;transform:rotate(-45deg)}.coar-markdown :where(li[data-item-type=task][data-checked=true])>:where(p){color:var(--coar-text-neutral-tertiary);text-decoration:line-through}.coar-markdown :where(li[data-item-type=task]) input[type=checkbox]{display:none}.coar-markdown-list-item--task{align-items:flex-start;gap:var(--coar-spacing-s,.5rem);list-style:none;display:flex}.coar-markdown-list-item-content{min-width:0}.coar-markdown-task-checkbox{margin-top:.15em}.coar-markdown-code-block,.coar-markdown-code{display:block}.coar-markdown :where(:not(pre)>code),.coar-markdown-inline-code{color:var(--coar-text-accent-secondary,var(--coar-markdown-link));background:0 0;border:0;border-radius:0;padding:0}.coar-markdown :where(a),.coar-markdown-link{color:var(--coar-markdown-link);text-decoration:underline}.coar-markdown-image{vertical-align:middle;max-width:100%;height:auto}.coar-markdown :where(table),.coar-markdown-table{border-collapse:collapse;border-spacing:0;width:100%;font-size:var(--coar-body-small-base-size,.9rem);line-height:var(--coar-line-height-relaxed,1.5);display:table}.coar-markdown :where(table thead,table tr[data-is-header]),.coar-markdown-table>thead{background:var(--coar-markdown-surface-muted)}.coar-markdown :where(table th),.coar-markdown-table>thead th{padding:.625rem var(--coar-markdown-space-2);text-align:left;vertical-align:top;font-weight:var(--coar-font-weight-semi-bold,600);font-size:var(--coar-component-s-font-size,.85em);color:var(--coar-markdown-text);border-bottom:1px solid var(--coar-markdown-border);text-transform:uppercase;letter-spacing:.025em}.coar-markdown :where(table td),.coar-markdown-table>tbody td{padding:.625rem var(--coar-markdown-space-2);text-align:left;vertical-align:top;color:var(--coar-text-neutral-secondary,var(--coar-markdown-text));border-bottom:1px solid var(--coar-markdown-border)}.coar-markdown-table>tbody tr:nth-child(odd of :not([data-is-header])),.coar-markdown :where(table>tbody tr:nth-child(odd of :not([data-is-header]))){background:var(--coar-markdown-surface)}.coar-markdown-table>tbody tr:nth-child(2n of :not([data-is-header])),.coar-markdown :where(table>tbody tr:nth-child(2n of :not([data-is-header]))){background:var(--coar-markdown-surface-muted)}.coar-markdown-table>tbody tr:last-child td,.coar-markdown :where(table>tbody tr:last-child:not([data-is-header]) td){border-bottom:0}.coar-markdown-table-cell{padding:var(--coar-markdown-space-1);vertical-align:top;border-right:1px solid var(--coar-markdown-border);border-bottom:1px solid var(--coar-markdown-border)}.coar-markdown-hr{border:0;border-top:1px solid var(--coar-markdown-border)}.coar-markdown-unsupported,.coar-markdown-unsupported-inline{color:var(--coar-markdown-muted-text);font-style:italic}.coar-markdown-unsupported{padding:var(--coar-markdown-space-1);border:1px dashed var(--coar-markdown-border);border-radius:var(--coar-markdown-radius);background:var(--coar-markdown-surface)}
1
+ .coar-markdown{--coar-markdown-text:var(--coar-text-neutral-primary);--coar-markdown-link:var(--coar-text-brand-primary,var(--coar-text-neutral-primary));--coar-markdown-muted-text:var(--coar-text-neutral-tertiary);--coar-markdown-border:var(--coar-border-neutral-tertiary);--coar-markdown-surface:var(--coar-background-neutral-primary);--coar-markdown-surface-muted:var(--coar-background-neutral-tertiary,var(--coar-background-neutral-primary));--coar-markdown-radius:var(--coar-radius-xs);--coar-markdown-space-1:var(--coar-spacing-s,.5rem);--coar-markdown-space-2:var(--coar-spacing-m,1rem);--coar-markdown-heading-block-start:var(--coar-spacing-xl,2rem);color:var(--coar-markdown-text);display:block}.coar-markdown :where(h1,h2,h3,h4,h5,h6){font-family:var(--coar-font-family-title,inherit);color:var(--coar-markdown-text)}.coar-markdown h1{font-size:var(--coar-font-size-xl);font-weight:var(--coar-font-weight-bold);line-height:var(--coar-line-height-tight)}.coar-markdown h2{font-size:var(--coar-font-size-l);font-weight:var(--coar-font-weight-bold);line-height:1.25}.coar-markdown h3{font-size:var(--coar-font-size-m);font-weight:var(--coar-font-weight-semi-bold);line-height:var(--coar-line-height-snug)}.coar-markdown h4{font-size:var(--coar-font-size-s);font-weight:var(--coar-font-weight-semi-bold);line-height:1.35}.coar-markdown h5{font-size:var(--coar-font-size-xs);font-weight:var(--coar-font-weight-semi-bold);line-height:var(--coar-line-height-normal)}.coar-markdown h6{font-size:var(--coar-font-size-xxs);font-weight:var(--coar-font-weight-medium);line-height:1.45}.coar-markdown-heading,.coar-markdown-paragraph,.coar-markdown-blockquote,.coar-markdown-list,.coar-markdown-code-block,.coar-markdown-table,.coar-markdown-hr,.coar-markdown :where(p,blockquote,ul,ol,pre,table,hr){margin:0}.coar-markdown>:where(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,pre,table,hr,.coar-code-block-host,.coar-table-host,.coar-markdown-frontmatter),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,pre,table,hr,.coar-code-block-host,.coar-table-host,.coar-markdown-frontmatter){margin-block:0 var(--coar-markdown-space-2)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6){margin-block-start:var(--coar-markdown-heading-block-start)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6)+:where(h1,h2,h3,h4,h5,h6),.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6)+:where(h1,h2,h3,h4,h5,h6){margin-block-start:var(--coar-markdown-space-1)}.coar-markdown>:where(h1,h2,h3,h4,h5,h6):first-child,.coar-markdown .ProseMirror>:where(h1,h2,h3,h4,h5,h6):first-child{margin-block-start:0}.coar-markdown :where(blockquote),.coar-markdown-blockquote{padding-inline:var(--coar-markdown-space-2);border-left:2px solid var(--coar-markdown-border);color:var(--coar-text-neutral-secondary)}.coar-markdown :where(ul,ol),.coar-markdown-list{padding-inline-start:var(--coar-spacing-l,1.5rem);list-style-position:outside}.coar-markdown :where(ul),.coar-markdown-list--unordered{list-style-type:disc}.coar-markdown :where(ol),.coar-markdown-list--ordered{list-style-type:decimal}.coar-markdown :where(li),.coar-markdown-list-item{margin-block:.25em;display:list-item}.coar-markdown :where(li,td,th)>:where(p){margin-block:0}.coar-markdown :where(li[data-item-type=task]){margin-left:-1.25em;padding-left:1.5em;list-style:none;position:relative}.coar-markdown :where(li[data-item-type=task]):before{content:"";border:1.5px solid var(--coar-border-neutral-secondary,var(--coar-border-neutral));border-radius:var(--coar-radius-xs,2px);background:var(--coar-background-neutral-primary);cursor:pointer;box-sizing:border-box;width:14px;height:14px;transition:background-color .1s,border-color .1s;position:absolute;top:.45em;left:0}.coar-markdown :where(li[data-item-type=task][data-checked=true]):before{background:var(--coar-background-accent-primary);border-color:var(--coar-background-accent-primary)}.coar-markdown :where(li[data-item-type=task][data-checked=true]):after{content:"";border-left:2px solid var(--coar-text-on-bold,#fff);border-bottom:2px solid var(--coar-text-on-bold,#fff);pointer-events:none;width:8px;height:5px;position:absolute;top:calc(.45em + 2px);left:3px;transform:rotate(-45deg)}.coar-markdown :where(li[data-item-type=task][data-checked=true])>:where(p){color:var(--coar-text-neutral-tertiary);text-decoration:line-through}.coar-markdown :where(li[data-item-type=task]) input[type=checkbox]{display:none}.coar-markdown-list-item--task{align-items:flex-start;gap:var(--coar-spacing-s,.5rem);list-style:none;display:flex}.coar-markdown-list-item-content{min-width:0}.coar-markdown-task-checkbox{margin-top:.15em}.coar-markdown-code-block,.coar-markdown-code{display:block}.coar-markdown :where(:not(pre)>code),.coar-markdown-inline-code{color:var(--coar-text-accent-secondary,var(--coar-markdown-link));background:0 0;border:0;border-radius:0;padding:0}.coar-markdown :where(a),.coar-markdown-link{color:var(--coar-markdown-link);text-decoration:underline}.coar-markdown-image{vertical-align:middle;max-width:100%;height:auto}.coar-markdown :where(table),.coar-markdown-table{border-collapse:collapse;border-spacing:0;width:100%;font-size:var(--coar-body-small-base-size,.9rem);line-height:var(--coar-line-height-relaxed,1.5);display:table}.coar-markdown :where(table thead,table tr[data-is-header]),.coar-markdown-table>thead{background:var(--coar-markdown-surface-muted)}.coar-markdown :where(table th),.coar-markdown-table>thead th{padding:.625rem var(--coar-markdown-space-2);text-align:left;vertical-align:top;font-weight:var(--coar-font-weight-semi-bold,600);font-size:var(--coar-component-s-font-size,.85em);color:var(--coar-markdown-text);border-bottom:1px solid var(--coar-markdown-border);text-transform:uppercase;letter-spacing:.025em}.coar-markdown :where(table td),.coar-markdown-table>tbody td{padding:.625rem var(--coar-markdown-space-2);text-align:left;vertical-align:top;color:var(--coar-text-neutral-secondary,var(--coar-markdown-text));border-bottom:1px solid var(--coar-markdown-border)}.coar-markdown-table>tbody tr:nth-child(odd of :not([data-is-header])),.coar-markdown :where(table>tbody tr:nth-child(odd of :not([data-is-header]))){background:var(--coar-markdown-surface)}.coar-markdown-table>tbody tr:nth-child(2n of :not([data-is-header])),.coar-markdown :where(table>tbody tr:nth-child(2n of :not([data-is-header]))){background:var(--coar-markdown-surface-muted)}.coar-markdown-table>tbody tr:last-child td,.coar-markdown :where(table>tbody tr:last-child:not([data-is-header]) td){border-bottom:0}.coar-markdown-table-cell{padding:var(--coar-markdown-space-1);vertical-align:top;border-right:1px solid var(--coar-markdown-border);border-bottom:1px solid var(--coar-markdown-border)}.coar-markdown-hr{border:0;border-top:1px solid var(--coar-markdown-border)}.coar-markdown-unsupported,.coar-markdown-unsupported-inline{color:var(--coar-markdown-muted-text);font-style:italic}.coar-markdown-unsupported{padding:var(--coar-markdown-space-1);border:1px dashed var(--coar-markdown-border);border-radius:var(--coar-markdown-radius);background:var(--coar-markdown-surface)}.coar-markdown-frontmatter{color:var(--coar-color-gray-400,silver);font-style:italic}.coar-markdown-frontmatter__entry{overflow-wrap:anywhere}.coar-markdown-frontmatter__raw{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;color:inherit;margin:0;font-style:italic}
2
2
  /*$vite$:1*/
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { default as CoarMarkdown } from './CoarMarkdown.vue';
16
16
  export type { CoarMarkdownProps } from './CoarMarkdown.vue';
17
17
  export { MARKDOWN_RENDERERS_KEY, rendererNameFor } from './registry';
18
18
  export type { MarkdownEditorNodeViewSpec, MarkdownEditorNodeViews, MarkdownRendererName, MarkdownRendererProps, MarkdownViewerRenderers, } from './registry';
19
- export { defaultMarkdownRenderers, DefaultBlockquote, DefaultCodeBlock, DefaultColorSpan, DefaultEmphasis, DefaultHeading, DefaultImage, DefaultInlineCode, DefaultLineBreak, DefaultLink, DefaultList, DefaultListItem, DefaultParagraph, DefaultStrikethrough, DefaultStrong, DefaultTable, DefaultTableCell, DefaultTableRow, DefaultText, DefaultThematicBreak, DefaultUnsupported, } from './default-renderers';
19
+ export { defaultMarkdownRenderers, DefaultBlockquote, DefaultCodeBlock, DefaultColorSpan, DefaultEmphasis, DefaultFrontmatter, DefaultHeading, DefaultImage, DefaultInlineCode, DefaultLineBreak, DefaultLink, DefaultList, DefaultListItem, DefaultParagraph, DefaultStrikethrough, DefaultStrong, DefaultTable, DefaultTableCell, DefaultTableRow, DefaultText, DefaultThematicBreak, DefaultUnsupported, } from './default-renderers';
20
20
  export { RenderNode, renderMarkdownNodes } from './RenderNode';
21
21
  export * from './helpers';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAI/D,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAI/D,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,89 +1,97 @@
1
- import { Fragment as e, createBlock as t, createElementBlock as n, defineComponent as r, h as i, inject as a, openBlock as o, provide as ee, renderList as s, unref as c } from "vue";
2
- import { CoarCodeBlock as te } from "@cocoar/vue-ui";
3
- import { sanitizeColor as ne } from "@cocoar/vue-markdown-core";
1
+ import { Fragment as e, createBlock as t, createElementBlock as n, defineComponent as r, h as i, inject as ee, openBlock as a, provide as te, renderList as ne, unref as re } from "vue";
2
+ import { CoarCodeBlock as ie } from "@cocoar/vue-ui";
3
+ import { sanitizeColor as ae } from "@cocoar/vue-markdown-core";
4
4
  //#region src/helpers.ts
5
- function l(e) {
5
+ function o(e) {
6
6
  let t = e.attrs?.depth;
7
7
  if (typeof t != "number") return 1;
8
8
  let n = Math.trunc(t);
9
9
  return n <= 1 ? 1 : n === 2 ? 2 : n === 3 ? 3 : n === 4 ? 4 : n === 5 ? 5 : 6;
10
10
  }
11
- function u(e) {
11
+ function s(e) {
12
12
  let t = e.attrs?.anchor;
13
13
  return typeof t == "string" && t.length > 0 ? t : null;
14
14
  }
15
- function d(e) {
15
+ function c(e) {
16
16
  let t = e.attrs?.language;
17
17
  return typeof t == "string" && t.trim().length > 0 ? t.trim() : "text";
18
18
  }
19
- function f(e) {
19
+ function l(e) {
20
20
  return !!e.attrs?.ordered;
21
21
  }
22
- function p(e) {
22
+ function u(e) {
23
23
  let t = e.attrs?.start;
24
24
  return typeof t == "number" ? t : null;
25
25
  }
26
- function m(e) {
26
+ function d(e) {
27
27
  return typeof e.attrs?.checked == "boolean";
28
28
  }
29
- function h(e) {
29
+ function f(e) {
30
30
  return e.attrs?.checked === !0;
31
31
  }
32
- function g(e) {
32
+ function p(e) {
33
33
  let t = e.attrs?.url;
34
34
  return typeof t == "string" && t.length > 0 ? t : null;
35
35
  }
36
- function _(e) {
37
- let t = g(e);
36
+ function m(e) {
37
+ let t = p(e);
38
38
  return t ? t.startsWith("#") && typeof window < "u" ? `${window.location.pathname}${window.location.search}${t}` : t : null;
39
39
  }
40
- function v(e) {
41
- let t = g(e);
42
- return t && O(t) ? "_blank" : null;
40
+ function h(e) {
41
+ let t = p(e);
42
+ return t && D(t) ? "_blank" : null;
43
43
  }
44
- function y(e) {
45
- let t = g(e);
46
- return t && O(t) ? "noopener noreferrer" : null;
44
+ function g(e) {
45
+ let t = p(e);
46
+ return t && D(t) ? "noopener noreferrer" : null;
47
47
  }
48
- function b(e) {
48
+ function _(e) {
49
49
  let t = e.attrs?.url;
50
50
  return typeof t == "string" && t.trim().length > 0 ? t.trim() : null;
51
51
  }
52
- function x(e) {
52
+ function v(e) {
53
53
  let t = e.attrs?.alt;
54
54
  return typeof t == "string" ? t : "";
55
55
  }
56
- function S(e) {
56
+ function y(e) {
57
57
  let t = e.attrs?.title;
58
58
  return typeof t == "string" && t.trim().length > 0 ? t.trim() : null;
59
59
  }
60
- function C(e, t) {
61
- return D(e, t) === "right";
60
+ function b(e, t) {
61
+ return E(e, t) === "right";
62
62
  }
63
- function w(e, t) {
64
- return D(e, t) === "center";
63
+ function x(e, t) {
64
+ return E(e, t) === "center";
65
65
  }
66
- function T(e) {
66
+ function S(e) {
67
67
  let t = e.attrs?.originalType;
68
68
  return typeof t == "string" ? t : String(e.type);
69
69
  }
70
- function E(e) {
70
+ function C(e) {
71
+ let t = e.attrs?.entries;
72
+ return Array.isArray(t) ? t.filter((e) => !!e && typeof e == "object" && typeof e.key == "string" && typeof e.value == "string") : [];
73
+ }
74
+ function w(e) {
75
+ let t = e.attrs?.raw;
76
+ return typeof t == "string" ? t : "";
77
+ }
78
+ function T(e) {
71
79
  let t = e.attrs?.color;
72
- return typeof t == "string" ? ne(t) : null;
80
+ return typeof t == "string" ? ae(t) : null;
73
81
  }
74
- function D(e, t) {
82
+ function E(e, t) {
75
83
  let n = e.attrs?.align;
76
84
  if (!Array.isArray(n)) return null;
77
85
  let r = n[t];
78
86
  return r === "left" || r === "right" || r === "center" ? r : null;
79
87
  }
80
- function O(e) {
88
+ function D(e) {
81
89
  let t = e.trim();
82
90
  return t.startsWith("#") || t.startsWith("/") || t.startsWith("./") || t.startsWith("../") || t.startsWith("mailto:") || t.startsWith("tel:") ? !1 : t.startsWith("http://") || t.startsWith("https://");
83
91
  }
84
92
  //#endregion
85
93
  //#region src/default-renderers.ts
86
- var k = {
94
+ var O = {
87
95
  node: {
88
96
  type: Object,
89
97
  required: !0
@@ -96,12 +104,35 @@ var k = {
96
104
  type: Function,
97
105
  required: !0
98
106
  }
99
- }, A = r({
107
+ }, k = r({
108
+ name: "DefaultFrontmatter",
109
+ props: O,
110
+ setup(e) {
111
+ return () => {
112
+ let t = C(e.node);
113
+ return t.length === 0 ? i("div", {
114
+ class: "coar-markdown-frontmatter",
115
+ "aria-label": "Document metadata"
116
+ }, [i("pre", { class: "coar-markdown-frontmatter__raw" }, w(e.node))]) : i("div", {
117
+ class: "coar-markdown-frontmatter",
118
+ role: "group",
119
+ "aria-label": "Document metadata"
120
+ }, t.map((e) => i("div", {
121
+ key: e.key,
122
+ class: "coar-markdown-frontmatter__entry"
123
+ }, [
124
+ i("span", { class: "coar-markdown-frontmatter__key" }, e.key),
125
+ ": ",
126
+ i("span", { class: "coar-markdown-frontmatter__value" }, e.value)
127
+ ])));
128
+ };
129
+ }
130
+ }), A = r({
100
131
  name: "DefaultHeading",
101
- props: k,
132
+ props: O,
102
133
  setup(e) {
103
134
  return () => {
104
- let t = l(e.node), n = u(e.node);
135
+ let t = o(e.node), n = s(e.node);
105
136
  return i(`h${t}`, {
106
137
  id: n ?? void 0,
107
138
  class: "coar-markdown-heading"
@@ -110,22 +141,22 @@ var k = {
110
141
  }
111
142
  }), j = r({
112
143
  name: "DefaultParagraph",
113
- props: k,
144
+ props: O,
114
145
  setup(e) {
115
146
  return () => i("p", { class: "coar-markdown-paragraph" }, e.renderChildren());
116
147
  }
117
148
  }), M = r({
118
149
  name: "DefaultBlockquote",
119
- props: k,
150
+ props: O,
120
151
  setup(e) {
121
152
  return () => i("blockquote", { class: "coar-markdown-blockquote" }, e.renderChildren());
122
153
  }
123
154
  }), N = r({
124
155
  name: "DefaultList",
125
- props: k,
156
+ props: O,
126
157
  setup(e) {
127
158
  return () => {
128
- let t = f(e.node), n = t ? "ol" : "ul", r = t ? p(e.node) : null;
159
+ let t = l(e.node), n = t ? "ol" : "ul", r = t ? u(e.node) : null;
129
160
  return i(n, {
130
161
  class: ["coar-markdown-list", t ? "coar-markdown-list--ordered" : "coar-markdown-list--unordered"],
131
162
  start: r ?? void 0
@@ -134,10 +165,10 @@ var k = {
134
165
  }
135
166
  }), P = r({
136
167
  name: "DefaultListItem",
137
- props: k,
168
+ props: O,
138
169
  setup(e) {
139
170
  return () => {
140
- let t = m(e.node), n = t && h(e.node);
171
+ let t = d(e.node), n = t && f(e.node);
141
172
  return i("li", {
142
173
  class: ["coar-markdown-list-item", t ? "coar-markdown-list-item--task" : null],
143
174
  "data-item-type": t ? "task" : void 0,
@@ -147,19 +178,19 @@ var k = {
147
178
  }
148
179
  }), F = r({
149
180
  name: "DefaultCodeBlock",
150
- props: k,
181
+ props: O,
151
182
  setup(e) {
152
- return () => i(te, {
183
+ return () => i(ie, {
153
184
  class: "coar-markdown-code-block",
154
185
  code: e.node.text ?? "",
155
- language: d(e.node),
186
+ language: c(e.node),
156
187
  collapsible: !1,
157
188
  showCopy: !0
158
189
  });
159
190
  }
160
191
  }), I = r({
161
192
  name: "DefaultTable",
162
- props: k,
193
+ props: O,
163
194
  setup(e) {
164
195
  return () => {
165
196
  let t = e.node.children ?? [];
@@ -167,102 +198,102 @@ var k = {
167
198
  let [n, ...r] = t;
168
199
  return i("table", { class: "coar-markdown-table" }, [i("thead", null, [i("tr", null, (n.children ?? []).map((t, n) => i("th", {
169
200
  key: t.id,
170
- class: [C(e.node, n) ? "text-right" : null, w(e.node, n) ? "text-center" : null]
201
+ class: [b(e.node, n) ? "text-right" : null, x(e.node, n) ? "text-center" : null]
171
202
  }, e.renderNodes(t.children ?? []))))]), i("tbody", null, r.map((t) => i("tr", { key: t.id }, (t.children ?? []).map((t, n) => i("td", {
172
203
  key: t.id,
173
- class: [C(e.node, n) ? "text-right" : null, w(e.node, n) ? "text-center" : null]
204
+ class: [b(e.node, n) ? "text-right" : null, x(e.node, n) ? "text-center" : null]
174
205
  }, e.renderNodes(t.children ?? []))))))]);
175
206
  };
176
207
  }
177
208
  }), L = r({
178
209
  name: "DefaultTableRow",
179
- props: k,
210
+ props: O,
180
211
  setup(e) {
181
212
  return () => i("tr", null, e.renderChildren());
182
213
  }
183
214
  }), R = r({
184
215
  name: "DefaultTableCell",
185
- props: k,
216
+ props: O,
186
217
  setup(e) {
187
218
  return () => i("td", { class: "coar-markdown-table-cell" }, e.renderChildren());
188
219
  }
189
220
  }), z = r({
190
221
  name: "DefaultThematicBreak",
191
- props: k,
222
+ props: O,
192
223
  setup() {
193
224
  return () => i("hr", { class: "coar-markdown-hr" });
194
225
  }
195
226
  }), B = r({
196
227
  name: "DefaultText",
197
- props: k,
228
+ props: O,
198
229
  setup(e) {
199
230
  return () => e.node.text ?? "";
200
231
  }
201
232
  }), V = r({
202
233
  name: "DefaultEmphasis",
203
- props: k,
234
+ props: O,
204
235
  setup(e) {
205
236
  return () => i("em", null, e.renderChildren());
206
237
  }
207
238
  }), H = r({
208
239
  name: "DefaultStrong",
209
- props: k,
240
+ props: O,
210
241
  setup(e) {
211
242
  return () => i("strong", null, e.renderChildren());
212
243
  }
213
244
  }), U = r({
214
245
  name: "DefaultStrikethrough",
215
- props: k,
246
+ props: O,
216
247
  setup(e) {
217
248
  return () => i("del", null, e.renderChildren());
218
249
  }
219
250
  }), W = r({
220
251
  name: "DefaultInlineCode",
221
- props: k,
252
+ props: O,
222
253
  setup(e) {
223
254
  return () => i("code", { class: "coar-markdown-inline-code" }, e.node.text ?? "");
224
255
  }
225
256
  }), G = r({
226
257
  name: "DefaultLink",
227
- props: k,
258
+ props: O,
228
259
  setup(e) {
229
260
  return () => {
230
- let t = _(e.node);
261
+ let t = m(e.node);
231
262
  return t ? i("a", {
232
263
  class: "coar-markdown-link",
233
264
  href: t,
234
- target: v(e.node) ?? void 0,
235
- rel: y(e.node) ?? void 0
265
+ target: h(e.node) ?? void 0,
266
+ rel: g(e.node) ?? void 0
236
267
  }, e.renderChildren()) : e.renderChildren();
237
268
  };
238
269
  }
239
270
  }), K = r({
240
271
  name: "DefaultImage",
241
- props: k,
272
+ props: O,
242
273
  setup(e) {
243
274
  return () => {
244
- let t = b(e.node);
275
+ let t = _(e.node);
245
276
  return t ? i("img", {
246
277
  class: "coar-markdown-image",
247
278
  src: t,
248
- alt: x(e.node),
249
- title: S(e.node) ?? void 0,
279
+ alt: v(e.node),
280
+ title: y(e.node) ?? void 0,
250
281
  loading: "lazy"
251
282
  }) : null;
252
283
  };
253
284
  }
254
285
  }), q = r({
255
286
  name: "DefaultLineBreak",
256
- props: k,
287
+ props: O,
257
288
  setup() {
258
289
  return () => i("br");
259
290
  }
260
291
  }), J = r({
261
292
  name: "DefaultColorSpan",
262
- props: k,
293
+ props: O,
263
294
  setup(e) {
264
295
  return () => {
265
- let t = E(e.node);
296
+ let t = T(e.node);
266
297
  return i("span", {
267
298
  class: "coar-markdown-color",
268
299
  style: t ? { color: t } : void 0
@@ -271,11 +302,12 @@ var k = {
271
302
  }
272
303
  }), Y = r({
273
304
  name: "DefaultUnsupported",
274
- props: k,
305
+ props: O,
275
306
  setup(e) {
276
- return () => i("div", { class: "coar-markdown-unsupported" }, `Unsupported markdown node: ${T(e.node)}`);
307
+ return () => i("div", { class: "coar-markdown-unsupported" }, `Unsupported markdown node: ${S(e.node)}`);
277
308
  }
278
309
  }), X = {
310
+ frontmatter: k,
279
311
  heading: A,
280
312
  paragraph: j,
281
313
  blockquote: M,
@@ -300,9 +332,10 @@ var k = {
300
332
  //#endregion
301
333
  //#region src/registry.ts
302
334
  function Z(e) {
303
- return e in re ? e : "unsupported";
335
+ return e in oe ? e : "unsupported";
304
336
  }
305
- var re = {
337
+ var oe = {
338
+ frontmatter: !0,
306
339
  heading: !0,
307
340
  paragraph: !0,
308
341
  blockquote: !0,
@@ -336,23 +369,23 @@ var re = {
336
369
  }
337
370
  },
338
371
  setup(e) {
339
- let t = a(Q, void 0), n = () => e.renderers ?? t ?? X;
340
- e.renderers && ee(Q, e.renderers);
372
+ let t = ee(Q, void 0), n = () => e.renderers ?? t ?? X;
373
+ e.renderers && te(Q, e.renderers);
341
374
  let r = (e) => e.map((e) => i($, {
342
375
  node: e,
343
376
  key: e.id
344
- })), o = () => r(e.node.children ?? []);
377
+ })), a = () => r(e.node.children ?? []);
345
378
  return () => {
346
379
  let t = n()[Z(e.node.type)];
347
380
  return i(t, {
348
381
  node: e.node,
349
- renderChildren: o,
382
+ renderChildren: a,
350
383
  renderNodes: r
351
384
  });
352
385
  };
353
386
  }
354
387
  });
355
- function ie(e, t) {
388
+ function se(e, t) {
356
389
  return e.map((e) => i($, {
357
390
  node: e,
358
391
  renderers: t,
@@ -361,14 +394,14 @@ function ie(e, t) {
361
394
  }
362
395
  //#endregion
363
396
  //#region src/CoarMarkdown.vue?vue&type=script&setup=true&lang.ts
364
- var ae = { class: "coar-markdown" }, oe = /* @__PURE__ */ r({
397
+ var ce = { class: "coar-markdown" }, le = /* @__PURE__ */ r({
365
398
  __name: "CoarMarkdown",
366
399
  props: {
367
400
  doc: {},
368
401
  renderers: {}
369
402
  },
370
403
  setup(r) {
371
- return (i, a) => (o(), n("div", ae, [(o(!0), n(e, null, s(r.doc.nodes, (e) => (o(), t(c($), {
404
+ return (i, ee) => (a(), n("div", ce, [(a(!0), n(e, null, ne(r.doc.nodes, (e) => (a(), t(re($), {
372
405
  key: e.id,
373
406
  node: e,
374
407
  renderers: r.renderers
@@ -376,4 +409,4 @@ var ae = { class: "coar-markdown" }, oe = /* @__PURE__ */ r({
376
409
  }
377
410
  });
378
411
  //#endregion
379
- export { oe as CoarMarkdown, M as DefaultBlockquote, F as DefaultCodeBlock, J as DefaultColorSpan, V as DefaultEmphasis, A as DefaultHeading, K as DefaultImage, W as DefaultInlineCode, q as DefaultLineBreak, G as DefaultLink, N as DefaultList, P as DefaultListItem, j as DefaultParagraph, U as DefaultStrikethrough, H as DefaultStrong, I as DefaultTable, R as DefaultTableCell, L as DefaultTableRow, B as DefaultText, z as DefaultThematicBreak, Y as DefaultUnsupported, Q as MARKDOWN_RENDERERS_KEY, $ as RenderNode, d as codeBlockLanguage, E as colorSpanColor, X as defaultMarkdownRenderers, u as headingAnchor, l as headingDepth, x as imageAlt, b as imageSrc, S as imageTitle, f as isOrderedList, w as isTableColumnCenterAligned, C as isTableColumnRightAligned, m as isTaskListItem, _ as linkHref, y as linkRel, v as linkTarget, g as linkUrl, p as listStart, ie as renderMarkdownNodes, Z as rendererNameFor, h as taskChecked, T as unsupportedType };
412
+ export { le as CoarMarkdown, M as DefaultBlockquote, F as DefaultCodeBlock, J as DefaultColorSpan, V as DefaultEmphasis, k as DefaultFrontmatter, A as DefaultHeading, K as DefaultImage, W as DefaultInlineCode, q as DefaultLineBreak, G as DefaultLink, N as DefaultList, P as DefaultListItem, j as DefaultParagraph, U as DefaultStrikethrough, H as DefaultStrong, I as DefaultTable, R as DefaultTableCell, L as DefaultTableRow, B as DefaultText, z as DefaultThematicBreak, Y as DefaultUnsupported, Q as MARKDOWN_RENDERERS_KEY, $ as RenderNode, c as codeBlockLanguage, T as colorSpanColor, X as defaultMarkdownRenderers, C as frontmatterEntries, w as frontmatterRaw, s as headingAnchor, o as headingDepth, v as imageAlt, _ as imageSrc, y as imageTitle, l as isOrderedList, x as isTableColumnCenterAligned, b as isTableColumnRightAligned, d as isTaskListItem, m as linkHref, g as linkRel, h as linkTarget, p as linkUrl, u as listStart, se as renderMarkdownNodes, Z as rendererNameFor, f as taskChecked, S as unsupportedType };
@@ -22,6 +22,7 @@ export interface MarkdownRendererProps<TNode extends MarkdownNode = MarkdownNode
22
22
  * type slips through without a renderer.
23
23
  */
24
24
  export interface MarkdownViewerRenderers {
25
+ frontmatter: Component<MarkdownRendererProps>;
25
26
  heading: Component<MarkdownRendererProps>;
26
27
  paragraph: Component<MarkdownRendererProps>;
27
28
  blockquote: Component<MarkdownRendererProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEhF;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,YAAY,GAAG,YAAY;IAC9E,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,MAAM,KAAK,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;CAC1D;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IAEtC,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC1C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,UAAU,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,aAAa,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAEhD,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChD,UAAU,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAE5C,WAAW,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,oBAAoB,CAIrF;AAaD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,uBAAuB,CAExE,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,KAAK,CAAC,EAAE,0BAA0B,CAAC;CACpC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAEhF;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,SAAS,YAAY,GAAG,YAAY;IAC9E,IAAI,EAAE,KAAK,CAAC;IACZ,cAAc,EAAE,MAAM,KAAK,EAAE,CAAC;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,KAAK,EAAE,CAAC;CAC1D;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IAEtC,WAAW,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC9C,OAAO,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC1C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,UAAU,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,aAAa,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAEhD,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACzC,aAAa,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAChD,UAAU,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC7C,IAAI,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACvC,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAC5C,SAAS,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAE5C,WAAW,EAAE,SAAS,CAAC,qBAAqB,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,uBAAuB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,GAAG,oBAAoB,CAIrF;AAcD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,uBAAuB,CAExE,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,EAAE,0BAA0B,CAAC;IACxC,KAAK,CAAC,EAAE,0BAA0B,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocoar/vue-markdown",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "Markdown viewer + shared rendering registry for Vue 3. The viewer (`<CoarMarkdown>`) and the editor (`@cocoar/vue-markdown-editor`) consume the same component map so a code block, table, etc. looks identical in both contexts.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -43,10 +43,10 @@
43
43
  "typecheck": "vue-tsc --noEmit"
44
44
  },
45
45
  "dependencies": {
46
- "@cocoar/vue-markdown-core": "2.7.0"
46
+ "@cocoar/vue-markdown-core": "2.8.0"
47
47
  },
48
48
  "peerDependencies": {
49
- "@cocoar/vue-ui": "2.7.0",
49
+ "@cocoar/vue-ui": "2.8.0",
50
50
  "vue": "^3.5.0"
51
51
  },
52
52
  "devDependencies": {
@@ -111,12 +111,12 @@
111
111
  .coar-markdown
112
112
  > :where(
113
113
  h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol, pre, table, hr,
114
- .coar-code-block-host, .coar-table-host
114
+ .coar-code-block-host, .coar-table-host, .coar-markdown-frontmatter
115
115
  ),
116
116
  .coar-markdown .ProseMirror
117
117
  > :where(
118
118
  h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol, pre, table, hr,
119
- .coar-code-block-host, .coar-table-host
119
+ .coar-code-block-host, .coar-table-host, .coar-markdown-frontmatter
120
120
  ) {
121
121
  margin-block: 0 var(--coar-markdown-space-2);
122
122
  }
@@ -370,3 +370,28 @@
370
370
  border-radius: var(--coar-markdown-radius);
371
371
  background: var(--coar-markdown-surface);
372
372
  }
373
+
374
+ /* Frontmatter — the `---\n…\n---` YAML block at the top of a document. Rendered
375
+ as plain text (no card), but muted grey (disabled-like) and italic so it reads
376
+ as document metadata rather than body content. The same markup is emitted by
377
+ the viewer's `DefaultFrontmatter` renderer and the editor's frontmatter
378
+ NodeView so both surfaces match. */
379
+ .coar-markdown-frontmatter {
380
+ color: var(--coar-color-gray-400, #c0c0c0);
381
+ font-style: italic;
382
+ }
383
+
384
+ /* One `key: value` per line. Keys and values share the muted/italic look. */
385
+ .coar-markdown-frontmatter__entry {
386
+ overflow-wrap: anywhere;
387
+ }
388
+
389
+ /* Malformed YAML fallback — show the raw text readably, same muted style. */
390
+ .coar-markdown-frontmatter__raw {
391
+ margin: 0;
392
+ font: inherit;
393
+ font-style: italic;
394
+ white-space: pre-wrap;
395
+ overflow-wrap: anywhere;
396
+ color: inherit;
397
+ }