@valkyrianlabs/payload-markdown 1.3.1 → 1.3.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/package.json +1 -1
- package/dist/blocks/MarkdownBlock/types.d.js +0 -3
- package/dist/blocks/MarkdownBlock/types.d.js.map +0 -1
- package/dist/components/MarkdownRenderer/index.module.css +0 -45
- package/dist/components/MarkdownRenderer/index.module.scss +0 -43
- package/dist/components/MarkdownRenderer/types.d.js +0 -5
- package/dist/components/MarkdownRenderer/types.d.js.map +0 -1
- package/dist/core/plugins/remarkLayoutSentinels.d.ts +0 -3
- package/dist/core/plugins/remarkLayoutSentinels.js +0 -184
- package/dist/core/plugins/remarkLayoutSentinels.js.map +0 -1
- package/dist/core/plugins/remarkNormalizeLayoutSyntax.d.ts +0 -3
- package/dist/core/types.d.js +0 -7
- package/dist/core/types.d.js.map +0 -1
- package/dist/core/types.d.ts +0 -238
- package/dist/core/types.js +0 -5
- package/dist/core/types.js.map +0 -1
- package/dist/editor/MarkdownCodeMirror.d.ts +0 -8
- package/dist/editor/MarkdownCodeMirror.js +0 -74
- package/dist/editor/MarkdownCodeMirror.js.map +0 -1
- package/dist/field/BlocksParams/config.d.ts +0 -7
- package/dist/field/BlocksParams/config.js +0 -149
- package/dist/field/BlocksParams/config.js.map +0 -1
- package/dist/field/CodeBlock/config.d.ts +0 -7
- package/dist/field/CodeBlock/config.js +0 -321
- package/dist/field/CodeBlock/config.js.map +0 -1
- package/dist/field/CodeBlockParams/config.d.ts +0 -7
- package/dist/field/CodeBlockParams/config.js +0 -321
- package/dist/field/CodeBlockParams/config.js.map +0 -1
- package/dist/field/TailwindField/config.d.ts +0 -9
- package/dist/field/TailwindField/config.js +0 -13
- package/dist/field/TailwindField/config.js.map +0 -1
- package/dist/types.d.js +0 -3
- package/dist/types.d.js.map +0 -1
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { defaultKeymap, history, historyKeymap } from '@codemirror/commands';
|
|
4
|
-
import { EditorState } from '@codemirror/state';
|
|
5
|
-
import { placeholder as cmPlaceholder, EditorView, keymap } from '@codemirror/view';
|
|
6
|
-
import React, { useEffect, useRef } from 'react';
|
|
7
|
-
import { payloadMarkdownTheme } from './themes/payload.js';
|
|
8
|
-
export const MarkdownCodeMirror = ({ onChangeAction, placeholder = 'Write markdown...', value = '' })=>{
|
|
9
|
-
const containerRef = useRef(null);
|
|
10
|
-
const viewRef = useRef(null);
|
|
11
|
-
const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
12
|
-
useEffect(()=>{
|
|
13
|
-
if (!containerRef.current || viewRef.current) return;
|
|
14
|
-
const state = EditorState.create({
|
|
15
|
-
doc: value,
|
|
16
|
-
extensions: [
|
|
17
|
-
history(),
|
|
18
|
-
keymap.of([
|
|
19
|
-
...defaultKeymap,
|
|
20
|
-
...historyKeymap
|
|
21
|
-
]),
|
|
22
|
-
EditorView.lineWrapping,
|
|
23
|
-
cmPlaceholder(placeholder),
|
|
24
|
-
payloadMarkdownTheme,
|
|
25
|
-
EditorView.updateListener.of((update)=>{
|
|
26
|
-
if (!update.docChanged) return;
|
|
27
|
-
onChangeAction(update.state.doc.toString());
|
|
28
|
-
})
|
|
29
|
-
]
|
|
30
|
-
});
|
|
31
|
-
viewRef.current = new EditorView({
|
|
32
|
-
parent: containerRef.current,
|
|
33
|
-
state
|
|
34
|
-
});
|
|
35
|
-
return ()=>{
|
|
36
|
-
viewRef.current?.destroy();
|
|
37
|
-
viewRef.current = null;
|
|
38
|
-
};
|
|
39
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
|
-
}, [
|
|
41
|
-
onChangeAction,
|
|
42
|
-
placeholder
|
|
43
|
-
]);
|
|
44
|
-
useEffect(()=>{
|
|
45
|
-
const view = viewRef.current;
|
|
46
|
-
if (!view) return;
|
|
47
|
-
const current = view.state.doc.toString();
|
|
48
|
-
if (current === value) return;
|
|
49
|
-
view.dispatch({
|
|
50
|
-
changes: {
|
|
51
|
-
from: 0,
|
|
52
|
-
insert: value,
|
|
53
|
-
to: current.length
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}, [
|
|
57
|
-
value
|
|
58
|
-
]);
|
|
59
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
60
|
-
style: {
|
|
61
|
-
border: isDarkMode ? '1px solid rgba(120, 120, 120, .4)' : '1px solid rgba(120, 120, 120, .8)',
|
|
62
|
-
borderRadius: '5px',
|
|
63
|
-
maxHeight: '80vh',
|
|
64
|
-
minHeight: '125px',
|
|
65
|
-
overflowX: 'hidden',
|
|
66
|
-
overflowY: 'scroll'
|
|
67
|
-
},
|
|
68
|
-
children: /*#__PURE__*/ _jsx("div", {
|
|
69
|
-
ref: containerRef
|
|
70
|
-
})
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
//# sourceMappingURL=MarkdownCodeMirror.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/editor/MarkdownCodeMirror.tsx"],"sourcesContent":["'use client'\n\nimport { defaultKeymap, history, historyKeymap } from '@codemirror/commands'\nimport { EditorState } from '@codemirror/state'\nimport { placeholder as cmPlaceholder, EditorView, keymap } from '@codemirror/view'\nimport React, { useEffect, useRef } from 'react'\n\nimport { payloadMarkdownTheme } from './themes/payload.js'\n\ntype MarkdownCodeMirrorProps = {\n onChangeAction: (value: string) => void\n placeholder?: string\n value?: string\n}\n\nexport const MarkdownCodeMirror: React.FC<MarkdownCodeMirrorProps> = ({\n onChangeAction,\n placeholder = 'Write markdown...',\n value = '',\n}) => {\n const containerRef = useRef<HTMLDivElement | null>(null)\n const viewRef = useRef<EditorView | null>(null)\n const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches\n\n useEffect(() => {\n if (!containerRef.current || viewRef.current) return\n\n const state = EditorState.create({\n doc: value,\n extensions: [\n history(),\n keymap.of([...defaultKeymap, ...historyKeymap]),\n EditorView.lineWrapping,\n cmPlaceholder(placeholder),\n payloadMarkdownTheme,\n EditorView.updateListener.of((update) => {\n if (!update.docChanged) return\n onChangeAction(update.state.doc.toString())\n }),\n ],\n })\n\n viewRef.current = new EditorView({\n parent: containerRef.current,\n state,\n })\n\n return () => {\n viewRef.current?.destroy()\n viewRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChangeAction, placeholder])\n\n useEffect(() => {\n const view = viewRef.current\n if (!view) return\n\n const current = view.state.doc.toString()\n if (current === value) return\n\n view.dispatch({\n changes: {\n from: 0,\n insert: value,\n to: current.length,\n },\n })\n }, [value])\n\n return (\n <div\n style={{\n border: isDarkMode ? '1px solid rgba(120, 120, 120, .4)' : '1px solid rgba(120, 120, 120, .8)',\n borderRadius: '5px',\n maxHeight: '80vh',\n minHeight: '125px',\n overflowX: 'hidden',\n overflowY: 'scroll',\n }}>\n <div ref={containerRef} />\n </div>\n )\n}\n"],"names":["defaultKeymap","history","historyKeymap","EditorState","placeholder","cmPlaceholder","EditorView","keymap","React","useEffect","useRef","payloadMarkdownTheme","MarkdownCodeMirror","onChangeAction","value","containerRef","viewRef","isDarkMode","window","matchMedia","matches","current","state","create","doc","extensions","of","lineWrapping","updateListener","update","docChanged","toString","parent","destroy","view","dispatch","changes","from","insert","to","length","div","style","border","borderRadius","maxHeight","minHeight","overflowX","overflowY","ref"],"mappings":"AAAA;;AAEA,SAASA,aAAa,EAAEC,OAAO,EAAEC,aAAa,QAAQ,uBAAsB;AAC5E,SAASC,WAAW,QAAQ,oBAAmB;AAC/C,SAASC,eAAeC,aAAa,EAAEC,UAAU,EAAEC,MAAM,QAAQ,mBAAkB;AACnF,OAAOC,SAASC,SAAS,EAAEC,MAAM,QAAQ,QAAO;AAEhD,SAASC,oBAAoB,QAAQ,sBAAqB;AAQ1D,OAAO,MAAMC,qBAAwD,CAAC,EACpEC,cAAc,EACdT,cAAc,mBAAmB,EACjCU,QAAQ,EAAE,EACX;IACC,MAAMC,eAAeL,OAA8B;IACnD,MAAMM,UAAUN,OAA0B;IAC1C,MAAMO,aAAaC,OAAOC,UAAU,IAAID,OAAOC,UAAU,CAAC,gCAAgCC,OAAO;IAEjGX,UAAU;QACR,IAAI,CAACM,aAAaM,OAAO,IAAIL,QAAQK,OAAO,EAAE;QAE9C,MAAMC,QAAQnB,YAAYoB,MAAM,CAAC;YAC/BC,KAAKV;YACLW,YAAY;gBACVxB;gBACAM,OAAOmB,EAAE,CAAC;uBAAI1B;uBAAkBE;iBAAc;gBAC9CI,WAAWqB,YAAY;gBACvBtB,cAAcD;gBACdO;gBACAL,WAAWsB,cAAc,CAACF,EAAE,CAAC,CAACG;oBAC5B,IAAI,CAACA,OAAOC,UAAU,EAAE;oBACxBjB,eAAegB,OAAOP,KAAK,CAACE,GAAG,CAACO,QAAQ;gBAC1C;aACD;QACH;QAEAf,QAAQK,OAAO,GAAG,IAAIf,WAAW;YAC/B0B,QAAQjB,aAAaM,OAAO;YAC5BC;QACF;QAEA,OAAO;YACLN,QAAQK,OAAO,EAAEY;YACjBjB,QAAQK,OAAO,GAAG;QACpB;IACA,uDAAuD;IACzD,GAAG;QAACR;QAAgBT;KAAY;IAEhCK,UAAU;QACR,MAAMyB,OAAOlB,QAAQK,OAAO;QAC5B,IAAI,CAACa,MAAM;QAEX,MAAMb,UAAUa,KAAKZ,KAAK,CAACE,GAAG,CAACO,QAAQ;QACvC,IAAIV,YAAYP,OAAO;QAEvBoB,KAAKC,QAAQ,CAAC;YACZC,SAAS;gBACPC,MAAM;gBACNC,QAAQxB;gBACRyB,IAAIlB,QAAQmB,MAAM;YACpB;QACF;IACF,GAAG;QAAC1B;KAAM;IAEV,qBACE,KAAC2B;QACCC,OAAO;YACLC,QAAQ1B,aAAa,sCAAsC;YAC3D2B,cAAc;YACdC,WAAW;YACXC,WAAW;YACXC,WAAW;YACXC,WAAW;QACb;kBACA,cAAA,KAACP;YAAIQ,KAAKlC;;;AAGhB,EAAC"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { codeBlockParams } from '../CodeBlockParams/config.js';
|
|
2
|
-
import { tailwindField } from '../TailwindField/config.js';
|
|
3
|
-
export function blocksParams(options = {}) {
|
|
4
|
-
const { name = 'md-params', admin, label = 'Markdown Blocks Params' } = options;
|
|
5
|
-
return {
|
|
6
|
-
name,
|
|
7
|
-
type: 'group',
|
|
8
|
-
admin,
|
|
9
|
-
fields: [
|
|
10
|
-
{
|
|
11
|
-
name: 'enable',
|
|
12
|
-
type: 'checkbox',
|
|
13
|
-
admin: {
|
|
14
|
-
description: 'Whether to enable custom parameters for markdown blocks. ' + 'This is required to use any of the other block parameter fields, but can be left disabled ' + 'if you only need the default styles and behavior.'
|
|
15
|
-
},
|
|
16
|
-
label: 'Enable Blocks Params'
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
name: 'config',
|
|
20
|
-
type: 'group',
|
|
21
|
-
admin: {
|
|
22
|
-
condition: (_, siblingData)=>!!siblingData?.enable
|
|
23
|
-
},
|
|
24
|
-
fields: [
|
|
25
|
-
tailwindField({
|
|
26
|
-
name: 'wrapperClassName',
|
|
27
|
-
admin: {
|
|
28
|
-
description: 'Additional Tailwind classes to apply to the block wrapper element.'
|
|
29
|
-
},
|
|
30
|
-
label: 'Tailwind Wrapper Classes'
|
|
31
|
-
}),
|
|
32
|
-
tailwindField({
|
|
33
|
-
name: 'className',
|
|
34
|
-
admin: {
|
|
35
|
-
description: 'Additional Tailwind classes to apply to the block element itself.'
|
|
36
|
-
},
|
|
37
|
-
label: 'Tailwind Markdown Element Classes'
|
|
38
|
-
}),
|
|
39
|
-
tailwindField({
|
|
40
|
-
name: 'sectionClassName',
|
|
41
|
-
admin: {
|
|
42
|
-
description: 'Additional Tailwind classes to apply to the block section element.'
|
|
43
|
-
},
|
|
44
|
-
label: 'Tailwind Markdown Section Classes'
|
|
45
|
-
}),
|
|
46
|
-
tailwindField({
|
|
47
|
-
name: 'columnClassName',
|
|
48
|
-
admin: {
|
|
49
|
-
description: 'Additional Tailwind classes to apply to the block column element.'
|
|
50
|
-
},
|
|
51
|
-
label: 'Tailwind Markdown Column Classes'
|
|
52
|
-
}),
|
|
53
|
-
{
|
|
54
|
-
type: 'row',
|
|
55
|
-
fields: [
|
|
56
|
-
{
|
|
57
|
-
name: 'variant',
|
|
58
|
-
type: 'select',
|
|
59
|
-
admin: {
|
|
60
|
-
description: 'The visual style variant to apply to the block.'
|
|
61
|
-
},
|
|
62
|
-
dbName: 'vl_md_variant',
|
|
63
|
-
defaultValue: 'blog',
|
|
64
|
-
label: 'Variant',
|
|
65
|
-
options: [
|
|
66
|
-
{
|
|
67
|
-
label: 'Blog',
|
|
68
|
-
value: 'blog'
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
label: 'Compact',
|
|
72
|
-
value: 'compact'
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
label: 'Docs',
|
|
76
|
-
value: 'docs'
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
label: 'Unstyled',
|
|
80
|
-
value: 'unstyled'
|
|
81
|
-
}
|
|
82
|
-
]
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
name: 'size',
|
|
86
|
-
type: 'select',
|
|
87
|
-
admin: {
|
|
88
|
-
description: 'The typography size to apply to the block.'
|
|
89
|
-
},
|
|
90
|
-
dbName: 'vl_md_size',
|
|
91
|
-
defaultValue: 'md',
|
|
92
|
-
label: 'Size',
|
|
93
|
-
options: [
|
|
94
|
-
{
|
|
95
|
-
label: 'Large',
|
|
96
|
-
value: 'lg'
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
label: 'Medium',
|
|
100
|
-
value: 'md'
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
label: 'Small',
|
|
104
|
-
value: 'sm'
|
|
105
|
-
}
|
|
106
|
-
]
|
|
107
|
-
}
|
|
108
|
-
]
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
type: 'row',
|
|
112
|
-
fields: [
|
|
113
|
-
{
|
|
114
|
-
name: 'enableGutter',
|
|
115
|
-
type: 'checkbox',
|
|
116
|
-
admin: {
|
|
117
|
-
description: 'Whether to apply horizontal gutter padding to the block wrapper.'
|
|
118
|
-
},
|
|
119
|
-
label: 'Enable Gutter'
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
name: 'fullBleedCode',
|
|
123
|
-
type: 'checkbox',
|
|
124
|
-
admin: {
|
|
125
|
-
description: 'Whether fenced code blocks should extend beyond the normal content width on larger screens.'
|
|
126
|
-
},
|
|
127
|
-
label: 'Full Bleed Code'
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
name: 'mutedHeadings',
|
|
131
|
-
type: 'checkbox',
|
|
132
|
-
admin: {
|
|
133
|
-
description: 'Whether heading colors should be slightly muted.'
|
|
134
|
-
},
|
|
135
|
-
label: 'Muted Headings'
|
|
136
|
-
}
|
|
137
|
-
]
|
|
138
|
-
},
|
|
139
|
-
codeBlockParams({
|
|
140
|
-
name: 'options'
|
|
141
|
-
})
|
|
142
|
-
]
|
|
143
|
-
}
|
|
144
|
-
],
|
|
145
|
-
label
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/BlocksParams/config.ts"],"sourcesContent":["import type { Field, GroupField } from 'payload'\n\nimport { codeBlockParams } from '../CodeBlockParams/config.js'\nimport { tailwindField } from '../TailwindField/config.js'\n\nexport type BlocksParamsOptions = {\n admin?: Partial<GroupField['admin']>\n label?: string\n name?: string\n}\n\nexport function blocksParams(options: BlocksParamsOptions = {}): Field {\n const { name = 'md-params', admin, label = 'Markdown Blocks Params' } = options\n\n return {\n name,\n type: 'group',\n admin,\n fields: [\n {\n name: 'enable',\n type: 'checkbox',\n admin: {\n description:\n 'Whether to enable custom parameters for markdown blocks. ' +\n 'This is required to use any of the other block parameter fields, but can be left disabled ' +\n 'if you only need the default styles and behavior.',\n },\n label: 'Enable Blocks Params',\n },\n {\n name: 'config',\n type: 'group',\n admin: {\n condition: (_, siblingData) => !!siblingData?.enable,\n },\n fields: [\n tailwindField({\n name: 'wrapperClassName',\n admin: {\n description: 'Additional Tailwind classes to apply to the block wrapper element.',\n },\n label: 'Tailwind Wrapper Classes',\n }),\n tailwindField({\n name: 'className',\n admin: {\n description: 'Additional Tailwind classes to apply to the block element itself.',\n },\n label: 'Tailwind Markdown Element Classes',\n }),\n tailwindField({\n name: 'sectionClassName',\n admin: {\n description: 'Additional Tailwind classes to apply to the block section element.',\n },\n label: 'Tailwind Markdown Section Classes',\n }),\n tailwindField({\n name: 'columnClassName',\n admin: {\n description: 'Additional Tailwind classes to apply to the block column element.',\n },\n label: 'Tailwind Markdown Column Classes',\n }),\n {\n type: 'row',\n fields: [\n {\n name: 'variant',\n type: 'select',\n admin: {\n description: 'The visual style variant to apply to the block.',\n },\n dbName: 'vl_md_variant',\n defaultValue: 'blog',\n label: 'Variant',\n options: [\n { label: 'Blog', value: 'blog' },\n { label: 'Compact', value: 'compact' },\n { label: 'Docs', value: 'docs' },\n { label: 'Unstyled', value: 'unstyled' },\n ],\n },\n {\n name: 'size',\n type: 'select',\n admin: {\n description: 'The typography size to apply to the block.',\n },\n dbName: 'vl_md_size',\n defaultValue: 'md',\n label: 'Size',\n options: [\n { label: 'Large', value: 'lg' },\n { label: 'Medium', value: 'md' },\n { label: 'Small', value: 'sm' },\n ],\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'enableGutter',\n type: 'checkbox',\n admin: {\n description: 'Whether to apply horizontal gutter padding to the block wrapper.',\n },\n label: 'Enable Gutter',\n },\n {\n name: 'fullBleedCode',\n type: 'checkbox',\n admin: {\n description:\n 'Whether fenced code blocks should extend beyond the normal content width on larger screens.',\n },\n label: 'Full Bleed Code',\n },\n {\n name: 'mutedHeadings',\n type: 'checkbox',\n admin: {\n description: 'Whether heading colors should be slightly muted.',\n },\n label: 'Muted Headings',\n },\n ],\n },\n codeBlockParams({ name: 'options' }),\n ],\n },\n ],\n label,\n }\n}\n"],"names":["codeBlockParams","tailwindField","blocksParams","options","name","admin","label","type","fields","description","condition","_","siblingData","enable","dbName","defaultValue","value"],"mappings":"AAEA,SAASA,eAAe,QAAQ,+BAA8B;AAC9D,SAASC,aAAa,QAAQ,6BAA4B;AAQ1D,OAAO,SAASC,aAAaC,UAA+B,CAAC,CAAC;IAC5D,MAAM,EAAEC,OAAO,WAAW,EAAEC,KAAK,EAAEC,QAAQ,wBAAwB,EAAE,GAAGH;IAExE,OAAO;QACLC;QACAG,MAAM;QACNF;QACAG,QAAQ;YACN;gBACEJ,MAAM;gBACNG,MAAM;gBACNF,OAAO;oBACLI,aACE,8DACA,+FACA;gBACJ;gBACAH,OAAO;YACT;YACA;gBACEF,MAAM;gBACNG,MAAM;gBACNF,OAAO;oBACLK,WAAW,CAACC,GAAGC,cAAgB,CAAC,CAACA,aAAaC;gBAChD;gBACAL,QAAQ;oBACNP,cAAc;wBACZG,MAAM;wBACNC,OAAO;4BACLI,aAAa;wBACf;wBACAH,OAAO;oBACT;oBACAL,cAAc;wBACZG,MAAM;wBACNC,OAAO;4BACLI,aAAa;wBACf;wBACAH,OAAO;oBACT;oBACAL,cAAc;wBACZG,MAAM;wBACNC,OAAO;4BACLI,aAAa;wBACf;wBACAH,OAAO;oBACT;oBACAL,cAAc;wBACZG,MAAM;wBACNC,OAAO;4BACLI,aAAa;wBACf;wBACAH,OAAO;oBACT;oBACA;wBACEC,MAAM;wBACNC,QAAQ;4BACN;gCACEJ,MAAM;gCACNG,MAAM;gCACNF,OAAO;oCACLI,aAAa;gCACf;gCACAK,QAAQ;gCACRC,cAAc;gCACdT,OAAO;gCACPH,SAAS;oCACP;wCAAEG,OAAO;wCAAQU,OAAO;oCAAO;oCAC/B;wCAAEV,OAAO;wCAAWU,OAAO;oCAAU;oCACrC;wCAAEV,OAAO;wCAAQU,OAAO;oCAAO;oCAC/B;wCAAEV,OAAO;wCAAYU,OAAO;oCAAW;iCACxC;4BACH;4BACA;gCACEZ,MAAM;gCACNG,MAAM;gCACNF,OAAO;oCACLI,aAAa;gCACf;gCACAK,QAAQ;gCACRC,cAAc;gCACdT,OAAO;gCACPH,SAAS;oCACP;wCAAEG,OAAO;wCAASU,OAAO;oCAAK;oCAC9B;wCAAEV,OAAO;wCAAUU,OAAO;oCAAK;oCAC/B;wCAAEV,OAAO;wCAASU,OAAO;oCAAK;iCAC/B;4BACH;yBACD;oBACH;oBACA;wBACET,MAAM;wBACNC,QAAQ;4BACN;gCACEJ,MAAM;gCACNG,MAAM;gCACNF,OAAO;oCACLI,aAAa;gCACf;gCACAH,OAAO;4BACT;4BACA;gCACEF,MAAM;gCACNG,MAAM;gCACNF,OAAO;oCACLI,aACE;gCACJ;gCACAH,OAAO;4BACT;4BACA;gCACEF,MAAM;gCACNG,MAAM;gCACNF,OAAO;oCACLI,aAAa;gCACf;gCACAH,OAAO;4BACT;yBACD;oBACH;oBACAN,gBAAgB;wBAAEI,MAAM;oBAAU;iBACnC;YACH;SACD;QACDE;IACF;AACF"}
|
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
export function vlMdCodeBlockConfig(options = {}) {
|
|
2
|
-
const { name = 'code_params', admin, label = 'Code Block Options' } = options;
|
|
3
|
-
return {
|
|
4
|
-
name,
|
|
5
|
-
type: 'group',
|
|
6
|
-
admin,
|
|
7
|
-
fields: [
|
|
8
|
-
{
|
|
9
|
-
name: 'theme',
|
|
10
|
-
type: 'select',
|
|
11
|
-
admin: {
|
|
12
|
-
description: 'The Shiki theme to use for syntax highlighting this code block. ' + 'Defaults to "github-dark". Note that this plugin is optimized around themes that ' + 'still look good when block backgrounds are removed or reduced. ' + 'Some light themes may require additional customization ' + 'to maintain good contrast and readability.'
|
|
13
|
-
},
|
|
14
|
-
defaultValue: 'github-dark',
|
|
15
|
-
options: [
|
|
16
|
-
{
|
|
17
|
-
label: 'Andromeeda',
|
|
18
|
-
value: 'andromeeda'
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
label: 'Aurora X',
|
|
22
|
-
value: 'aurora-x'
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
label: 'Ayu Dark',
|
|
26
|
-
value: 'ayu-dark'
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
label: 'Ayu Light',
|
|
30
|
-
value: 'ayu-light'
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
label: 'Ayu Mirage',
|
|
34
|
-
value: 'ayu-mirage'
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
label: 'Catppuccin Frappé',
|
|
38
|
-
value: 'catppuccin-frappe'
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: 'Catppuccin Latte',
|
|
42
|
-
value: 'catppuccin-latte'
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
label: 'Catppuccin Macchiato',
|
|
46
|
-
value: 'catppuccin-macchiato'
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
label: 'Catppuccin Mocha',
|
|
50
|
-
value: 'catppuccin-mocha'
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
label: 'Dark Plus',
|
|
54
|
-
value: 'dark-plus'
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
label: 'Dracula Theme',
|
|
58
|
-
value: 'dracula'
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
label: 'Dracula Theme Soft',
|
|
62
|
-
value: 'dracula-soft'
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
label: 'Everforest Dark',
|
|
66
|
-
value: 'everforest-dark'
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
label: 'Everforest Light',
|
|
70
|
-
value: 'everforest-light'
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
label: 'GitHub Dark',
|
|
74
|
-
value: 'github-dark'
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
label: 'GitHub Dark Default',
|
|
78
|
-
value: 'github-dark-default'
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
label: 'GitHub Dark Dimmed',
|
|
82
|
-
value: 'github-dark-dimmed'
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
label: 'GitHub Dark High Contrast',
|
|
86
|
-
value: 'github-dark-high-contrast'
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
label: 'GitHub Light',
|
|
90
|
-
value: 'github-light'
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
label: 'GitHub Light Default',
|
|
94
|
-
value: 'github-light-default'
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
label: 'GitHub Light High Contrast',
|
|
98
|
-
value: 'github-light-high-contrast'
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
label: 'Gruvbox Dark Hard',
|
|
102
|
-
value: 'gruvbox-dark-hard'
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
label: 'Gruvbox Dark Medium',
|
|
106
|
-
value: 'gruvbox-dark-medium'
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
label: 'Gruvbox Dark Soft',
|
|
110
|
-
value: 'gruvbox-dark-soft'
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
label: 'Gruvbox Light Hard',
|
|
114
|
-
value: 'gruvbox-light-hard'
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
label: 'Gruvbox Light Medium',
|
|
118
|
-
value: 'gruvbox-light-medium'
|
|
119
|
-
},
|
|
120
|
-
{
|
|
121
|
-
label: 'Gruvbox Light Soft',
|
|
122
|
-
value: 'gruvbox-light-soft'
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
label: 'Horizon',
|
|
126
|
-
value: 'horizon'
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
label: 'Horizon Bright',
|
|
130
|
-
value: 'horizon-bright'
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
label: 'Houston',
|
|
134
|
-
value: 'houston'
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
label: 'Kanagawa Dragon',
|
|
138
|
-
value: 'kanagawa-dragon'
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
label: 'Kanagawa Lotus',
|
|
142
|
-
value: 'kanagawa-lotus'
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
label: 'Kanagawa Wave',
|
|
146
|
-
value: 'kanagawa-wave'
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
label: 'LaserWave',
|
|
150
|
-
value: 'laserwave'
|
|
151
|
-
},
|
|
152
|
-
{
|
|
153
|
-
label: 'Light Plus',
|
|
154
|
-
value: 'light-plus'
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
label: 'Material Theme',
|
|
158
|
-
value: 'material-theme'
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
label: 'Material Theme Darker',
|
|
162
|
-
value: 'material-theme-darker'
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
label: 'Material Theme Lighter',
|
|
166
|
-
value: 'material-theme-lighter'
|
|
167
|
-
},
|
|
168
|
-
{
|
|
169
|
-
label: 'Material Theme Ocean',
|
|
170
|
-
value: 'material-theme-ocean'
|
|
171
|
-
},
|
|
172
|
-
{
|
|
173
|
-
label: 'Material Theme Palenight',
|
|
174
|
-
value: 'material-theme-palenight'
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
label: 'Min Dark',
|
|
178
|
-
value: 'min-dark'
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
label: 'Min Light',
|
|
182
|
-
value: 'min-light'
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
label: 'Monokai',
|
|
186
|
-
value: 'monokai'
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
label: 'Night Owl',
|
|
190
|
-
value: 'night-owl'
|
|
191
|
-
},
|
|
192
|
-
{
|
|
193
|
-
label: 'Night Owl Light',
|
|
194
|
-
value: 'night-owl-light'
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
label: 'Nord',
|
|
198
|
-
value: 'nord'
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
label: 'One Dark Pro',
|
|
202
|
-
value: 'one-dark-pro'
|
|
203
|
-
},
|
|
204
|
-
{
|
|
205
|
-
label: 'One Light',
|
|
206
|
-
value: 'one-light'
|
|
207
|
-
},
|
|
208
|
-
{
|
|
209
|
-
label: 'Plastic',
|
|
210
|
-
value: 'plastic'
|
|
211
|
-
},
|
|
212
|
-
{
|
|
213
|
-
label: 'Poimandres',
|
|
214
|
-
value: 'poimandres'
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
label: 'Red',
|
|
218
|
-
value: 'red'
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
label: 'Rosé Pine',
|
|
222
|
-
value: 'rose-pine'
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
label: 'Rosé Pine Dawn',
|
|
226
|
-
value: 'rose-pine-dawn'
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
label: 'Rosé Pine Moon',
|
|
230
|
-
value: 'rose-pine-moon'
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
label: 'Slack Dark',
|
|
234
|
-
value: 'slack-dark'
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
label: 'Slack Ochin',
|
|
238
|
-
value: 'slack-ochin'
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
label: 'Snazzy Light',
|
|
242
|
-
value: 'snazzy-light'
|
|
243
|
-
},
|
|
244
|
-
{
|
|
245
|
-
label: 'Solarized Dark',
|
|
246
|
-
value: 'solarized-dark'
|
|
247
|
-
},
|
|
248
|
-
{
|
|
249
|
-
label: 'Solarized Light',
|
|
250
|
-
value: 'solarized-light'
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
label: "Synthwave '84",
|
|
254
|
-
value: 'synthwave-84'
|
|
255
|
-
},
|
|
256
|
-
{
|
|
257
|
-
label: 'Tokyo Night',
|
|
258
|
-
value: 'tokyo-night'
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
label: 'Vesper',
|
|
262
|
-
value: 'vesper'
|
|
263
|
-
},
|
|
264
|
-
{
|
|
265
|
-
label: 'Vitesse Black',
|
|
266
|
-
value: 'vitesse-black'
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
label: 'Vitesse Dark',
|
|
270
|
-
value: 'vitesse-dark'
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
label: 'Vitesse Light',
|
|
274
|
-
value: 'vitesse-light'
|
|
275
|
-
}
|
|
276
|
-
]
|
|
277
|
-
},
|
|
278
|
-
{
|
|
279
|
-
name: 'langs',
|
|
280
|
-
type: 'array',
|
|
281
|
-
admin: {
|
|
282
|
-
description: 'The list of languages to load for syntax highlighting this code block. ' + 'Defaults to a common set of popular languages. ' + 'Note that loading many languages may impact performance, so it\'s best to only include the ones you need.'
|
|
283
|
-
},
|
|
284
|
-
fields: [
|
|
285
|
-
{
|
|
286
|
-
name: 'lang',
|
|
287
|
-
type: 'text',
|
|
288
|
-
label: 'Language'
|
|
289
|
-
}
|
|
290
|
-
],
|
|
291
|
-
label: 'Shiki Languages'
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
type: 'row',
|
|
295
|
-
fields: [
|
|
296
|
-
{
|
|
297
|
-
name: 'showLineNumbers',
|
|
298
|
-
type: 'checkbox',
|
|
299
|
-
admin: {
|
|
300
|
-
description: 'Whether to show line numbers in the code block.'
|
|
301
|
-
},
|
|
302
|
-
defaultValue: true,
|
|
303
|
-
label: 'Show Line Numbers'
|
|
304
|
-
},
|
|
305
|
-
{
|
|
306
|
-
name: 'enhancedCodeBlocks',
|
|
307
|
-
type: 'checkbox',
|
|
308
|
-
admin: {
|
|
309
|
-
description: 'Whether to apply the plugin\'s enhanced code block formatting. ' + 'When enabled, the renderer normalizes Shiki output for better integration with ' + 'markdown prose styling. This includes adjustments such as background removal, ' + 'spacing cleanup, line layout normalization, and other structural fixes needed ' + 'for features like line numbers and consistent empty-line rendering. ' + 'Set this to false if you want to preserve raw Shiki block styling as much as possible.'
|
|
310
|
-
},
|
|
311
|
-
defaultValue: true,
|
|
312
|
-
label: 'Enhanced Code Blocks'
|
|
313
|
-
}
|
|
314
|
-
]
|
|
315
|
-
}
|
|
316
|
-
],
|
|
317
|
-
label
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/field/CodeBlock/config.ts"],"sourcesContent":["import type { Field, GroupField } from 'payload'\n\nexport type CodeBlockParams = {\n admin?: Partial<GroupField['admin']>\n label?: string\n name?: string\n}\n\nexport function vlMdCodeBlockConfig(options: CodeBlockParams = {}): Field {\n const {\n name = 'code_params',\n admin,\n label = 'Code Block Options',\n } = options\n\n return {\n name,\n type: 'group',\n admin,\n fields: [\n {\n name: 'theme',\n type: 'select',\n admin: {\n description: 'The Shiki theme to use for syntax highlighting this code block. ' +\n 'Defaults to \"github-dark\". Note that this plugin is optimized around themes that ' +\n 'still look good when block backgrounds are removed or reduced. ' +\n 'Some light themes may require additional customization ' +\n 'to maintain good contrast and readability.',\n },\n defaultValue: 'github-dark',\n options: [\n { label: 'Andromeeda', value: 'andromeeda' },\n { label: 'Aurora X', value: 'aurora-x' },\n { label: 'Ayu Dark', value: 'ayu-dark' },\n { label: 'Ayu Light', value: 'ayu-light' },\n { label: 'Ayu Mirage', value: 'ayu-mirage' },\n { label: 'Catppuccin Frappé', value: 'catppuccin-frappe' },\n { label: 'Catppuccin Latte', value: 'catppuccin-latte' },\n { label: 'Catppuccin Macchiato', value: 'catppuccin-macchiato' },\n { label: 'Catppuccin Mocha', value: 'catppuccin-mocha' },\n { label: 'Dark Plus', value: 'dark-plus' },\n { label: 'Dracula Theme', value: 'dracula' },\n { label: 'Dracula Theme Soft', value: 'dracula-soft' },\n { label: 'Everforest Dark', value: 'everforest-dark' },\n { label: 'Everforest Light', value: 'everforest-light' },\n { label: 'GitHub Dark', value: 'github-dark' },\n { label: 'GitHub Dark Default', value: 'github-dark-default' },\n { label: 'GitHub Dark Dimmed', value: 'github-dark-dimmed' },\n { label: 'GitHub Dark High Contrast', value: 'github-dark-high-contrast' },\n { label: 'GitHub Light', value: 'github-light' },\n { label: 'GitHub Light Default', value: 'github-light-default' },\n { label: 'GitHub Light High Contrast', value: 'github-light-high-contrast' },\n { label: 'Gruvbox Dark Hard', value: 'gruvbox-dark-hard' },\n { label: 'Gruvbox Dark Medium', value: 'gruvbox-dark-medium' },\n { label: 'Gruvbox Dark Soft', value: 'gruvbox-dark-soft' },\n { label: 'Gruvbox Light Hard', value: 'gruvbox-light-hard' },\n { label: 'Gruvbox Light Medium', value: 'gruvbox-light-medium' },\n { label: 'Gruvbox Light Soft', value: 'gruvbox-light-soft' },\n { label: 'Horizon', value: 'horizon' },\n { label: 'Horizon Bright', value: 'horizon-bright' },\n { label: 'Houston', value: 'houston' },\n { label: 'Kanagawa Dragon', value: 'kanagawa-dragon' },\n { label: 'Kanagawa Lotus', value: 'kanagawa-lotus' },\n { label: 'Kanagawa Wave', value: 'kanagawa-wave' },\n { label: 'LaserWave', value: 'laserwave' },\n { label: 'Light Plus', value: 'light-plus' },\n { label: 'Material Theme', value: 'material-theme' },\n { label: 'Material Theme Darker', value: 'material-theme-darker' },\n { label: 'Material Theme Lighter', value: 'material-theme-lighter' },\n { label: 'Material Theme Ocean', value: 'material-theme-ocean' },\n { label: 'Material Theme Palenight', value: 'material-theme-palenight' },\n { label: 'Min Dark', value: 'min-dark' },\n { label: 'Min Light', value: 'min-light' },\n { label: 'Monokai', value: 'monokai' },\n { label: 'Night Owl', value: 'night-owl' },\n { label: 'Night Owl Light', value: 'night-owl-light' },\n { label: 'Nord', value: 'nord' },\n { label: 'One Dark Pro', value: 'one-dark-pro' },\n { label: 'One Light', value: 'one-light' },\n { label: 'Plastic', value: 'plastic' },\n { label: 'Poimandres', value: 'poimandres' },\n { label: 'Red', value: 'red' },\n { label: 'Rosé Pine', value: 'rose-pine' },\n { label: 'Rosé Pine Dawn', value: 'rose-pine-dawn' },\n { label: 'Rosé Pine Moon', value: 'rose-pine-moon' },\n { label: 'Slack Dark', value: 'slack-dark' },\n { label: 'Slack Ochin', value: 'slack-ochin' },\n { label: 'Snazzy Light', value: 'snazzy-light' },\n { label: 'Solarized Dark', value: 'solarized-dark' },\n { label: 'Solarized Light', value: 'solarized-light' },\n { label: \"Synthwave '84\", value: 'synthwave-84' },\n { label: 'Tokyo Night', value: 'tokyo-night' },\n { label: 'Vesper', value: 'vesper' },\n { label: 'Vitesse Black', value: 'vitesse-black' },\n { label: 'Vitesse Dark', value: 'vitesse-dark' },\n { label: 'Vitesse Light', value: 'vitesse-light' },\n ],\n },\n {\n name: 'langs',\n type: 'array',\n admin: {\n description: 'The list of languages to load for syntax highlighting this code block. ' +\n 'Defaults to a common set of popular languages. ' +\n 'Note that loading many languages may impact performance, so it\\'s best to only include the ones you need.',\n },\n fields: [\n {\n name: 'lang',\n type: 'text',\n label: 'Language',\n }\n ],\n label: 'Shiki Languages'\n },\n {\n type: 'row',\n fields: [\n {\n name: 'showLineNumbers',\n type: 'checkbox',\n admin: {\n description: 'Whether to show line numbers in the code block.',\n },\n defaultValue: true,\n label: 'Show Line Numbers'\n },\n {\n name: 'enhancedCodeBlocks',\n type: 'checkbox',\n admin: {\n description: 'Whether to apply the plugin\\'s enhanced code block formatting. ' +\n 'When enabled, the renderer normalizes Shiki output for better integration with ' +\n 'markdown prose styling. This includes adjustments such as background removal, ' +\n 'spacing cleanup, line layout normalization, and other structural fixes needed ' +\n 'for features like line numbers and consistent empty-line rendering. ' +\n 'Set this to false if you want to preserve raw Shiki block styling as much as possible.',\n },\n defaultValue: true,\n label: 'Enhanced Code Blocks',\n },\n ]\n }\n ],\n label,\n }\n}\n"],"names":["vlMdCodeBlockConfig","options","name","admin","label","type","fields","description","defaultValue","value"],"mappings":"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"}
|