@portabletext/markdown 1.0.2 → 1.0.4

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
@@ -8,6 +8,54 @@
8
8
  npm install @portabletext/markdown
9
9
  ```
10
10
 
11
+ ## Quick start
12
+
13
+ **Markdown → Portable Text**
14
+
15
+ ```ts
16
+ import {markdownToPortableText} from '@portabletext/markdown'
17
+
18
+ const blocks = markdownToPortableText('# Hello **world**')
19
+ ```
20
+
21
+ ```json
22
+ [
23
+ {
24
+ "_type": "block",
25
+ "_key": "f4s8k2",
26
+ "style": "h1",
27
+ "children": [
28
+ {"_type": "span", "_key": "a9c3x1", "text": "Hello ", "marks": []},
29
+ {"_type": "span", "_key": "b7d2m5", "text": "world", "marks": ["strong"]}
30
+ ],
31
+ "markDefs": []
32
+ }
33
+ ]
34
+ ```
35
+
36
+ **Portable Text → Markdown**
37
+
38
+ ```ts
39
+ import {portableTextToMarkdown} from '@portabletext/markdown'
40
+
41
+ const markdown = portableTextToMarkdown([
42
+ {
43
+ _type: 'block',
44
+ _key: 'f4s8k2',
45
+ style: 'h1',
46
+ children: [
47
+ {_type: 'span', _key: 'a9c3x1', text: 'Hello ', marks: []},
48
+ {_type: 'span', _key: 'b7d2m5', text: 'world', marks: ['strong']},
49
+ ],
50
+ markDefs: [],
51
+ },
52
+ ])
53
+ ```
54
+
55
+ ```md
56
+ # Hello **world**
57
+ ```
58
+
11
59
  ## Supported features
12
60
 
13
61
  | Feature | Markdown → Portable Text | Portable Text → Markdown |
@@ -35,23 +83,70 @@ npm install @portabletext/markdown
35
83
 
36
84
  ### `markdownToPortableText`
37
85
 
38
- Converts a Markdown string to an array of Portable Text blocks.
39
-
40
86
  ```ts
41
87
  import {markdownToPortableText} from '@portabletext/markdown'
42
88
 
43
- const markdown = `
89
+ const blocks = markdownToPortableText(`
44
90
  # Hello World
45
91
 
46
- This is a **bold** and *italic* text with a [link](https://example.com).
92
+ This is **bold** and *italic* text with a [link](https://example.com).
47
93
 
48
94
  - First item
49
95
  - Second item
96
+ `)
97
+ ```
50
98
 
51
- > A blockquote
52
- `
53
-
54
- const blocks = markdownToPortableText(markdown)
99
+ ```json
100
+ [
101
+ {
102
+ "_type": "block",
103
+ "_key": "k9f2x1",
104
+ "style": "h1",
105
+ "children": [
106
+ {"_type": "span", "_key": "s1a2b3", "text": "Hello World", "marks": []}
107
+ ],
108
+ "markDefs": []
109
+ },
110
+ {
111
+ "_type": "block",
112
+ "_key": "m3n4p5",
113
+ "style": "normal",
114
+ "children": [
115
+ {"_type": "span", "_key": "s2c3d4", "text": "This is ", "marks": []},
116
+ {"_type": "span", "_key": "s3e4f5", "text": "bold", "marks": ["strong"]},
117
+ {"_type": "span", "_key": "s4g5h6", "text": " and ", "marks": []},
118
+ {"_type": "span", "_key": "s5i6j7", "text": "italic", "marks": ["em"]},
119
+ {"_type": "span", "_key": "s6k7l8", "text": " text with a ", "marks": []},
120
+ {"_type": "span", "_key": "s7m8n9", "text": "link", "marks": ["a1b2c3"]},
121
+ {"_type": "span", "_key": "s8o9p0", "text": ".", "marks": []}
122
+ ],
123
+ "markDefs": [
124
+ {"_type": "link", "_key": "a1b2c3", "href": "https://example.com"}
125
+ ]
126
+ },
127
+ {
128
+ "_type": "block",
129
+ "_key": "q1r2s3",
130
+ "style": "normal",
131
+ "listItem": "bullet",
132
+ "level": 1,
133
+ "children": [
134
+ {"_type": "span", "_key": "s9q0r1", "text": "First item", "marks": []}
135
+ ],
136
+ "markDefs": []
137
+ },
138
+ {
139
+ "_type": "block",
140
+ "_key": "t4u5v6",
141
+ "style": "normal",
142
+ "listItem": "bullet",
143
+ "level": 1,
144
+ "children": [
145
+ {"_type": "span", "_key": "s0s1t2", "text": "Second item", "marks": []}
146
+ ],
147
+ "markDefs": []
148
+ }
149
+ ]
55
150
  ```
56
151
 
57
152
  The conversion is driven by two concepts:
@@ -215,23 +310,60 @@ markdownToPortableText(markdown, {
215
310
 
216
311
  ### `portableTextToMarkdown`
217
312
 
218
- Converts an array of Portable Text blocks to a Markdown string.
219
-
220
313
  ```ts
221
314
  import {portableTextToMarkdown} from '@portabletext/markdown'
222
315
 
223
- const blocks = [
316
+ const markdown = portableTextToMarkdown([
224
317
  {
225
318
  _type: 'block',
226
- _key: 'abc123',
319
+ _key: 'k9f2x1',
227
320
  style: 'h1',
228
- children: [{_type: 'span', _key: 'def456', text: 'Hello World', marks: []}],
321
+ children: [{_type: 'span', _key: 's1a2b3', text: 'Hello World', marks: []}],
229
322
  markDefs: [],
230
323
  },
231
- ]
324
+ {
325
+ _type: 'block',
326
+ _key: 'm3n4p5',
327
+ style: 'normal',
328
+ children: [
329
+ {_type: 'span', _key: 's2c3d4', text: 'This is ', marks: []},
330
+ {_type: 'span', _key: 's3e4f5', text: 'bold', marks: ['strong']},
331
+ {_type: 'span', _key: 's4g5h6', text: ' and ', marks: []},
332
+ {_type: 'span', _key: 's5i6j7', text: 'italic', marks: ['em']},
333
+ {_type: 'span', _key: 's6k7l8', text: ' text with a ', marks: []},
334
+ {_type: 'span', _key: 's7m8n9', text: 'link', marks: ['a1b2c3']},
335
+ {_type: 'span', _key: 's8o9p0', text: '.', marks: []},
336
+ ],
337
+ markDefs: [{_type: 'link', _key: 'a1b2c3', href: 'https://example.com'}],
338
+ },
339
+ {
340
+ _type: 'block',
341
+ _key: 'q1r2s3',
342
+ style: 'normal',
343
+ listItem: 'bullet',
344
+ level: 1,
345
+ children: [{_type: 'span', _key: 's9q0r1', text: 'First item', marks: []}],
346
+ markDefs: [],
347
+ },
348
+ {
349
+ _type: 'block',
350
+ _key: 't4u5v6',
351
+ style: 'normal',
352
+ listItem: 'bullet',
353
+ level: 1,
354
+ children: [{_type: 'span', _key: 's0s1t2', text: 'Second item', marks: []}],
355
+ markDefs: [],
356
+ },
357
+ ])
358
+ ```
232
359
 
233
- const markdown = portableTextToMarkdown(blocks)
234
- // # Hello World
360
+ ```md
361
+ # Hello World
362
+
363
+ This is **bold** and _italic_ text with a [link](https://example.com).
364
+
365
+ - First item
366
+ - Second item
235
367
  ```
236
368
 
237
369
  The conversion is driven by **Renderers**: functions that render Portable Text elements to Markdown strings. The library includes default renderers for common types; provide your own for custom block types.
@@ -319,13 +451,6 @@ portableTextToMarkdown(blocks, {
319
451
  | `DefaultImageRenderer` | `{src: string, alt?: string, title?: string}` | `![alt](src "title")` |
320
452
  | `DefaultTableRenderer` | `{rows: [...], headerRows?: number}` | Markdown table |
321
453
 
322
- **Other exports:** The library also exports mark renderers, block style renderers, and TypeScript types:
323
-
324
- - `DefaultStrongRenderer`, `DefaultEmRenderer`, `DefaultCodeRenderer`, `DefaultUnderlineRenderer`, `DefaultStrikeThroughRenderer`, `DefaultLinkRenderer`
325
- - `DefaultNormalRenderer`, `DefaultBlockquoteRenderer`, `DefaultH1Renderer`–`DefaultH6Renderer`
326
- - `DefaultListItemRenderer`, `DefaultHardBreakRenderer`, `DefaultBlockSpacingRenderer`
327
- - `BlockSpacingRenderer`, `PortableTextRenderers`, `PortableTextMarkRenderer`, etc.
328
-
329
454
  #### What renderers receive
330
455
 
331
456
  **Block renderers** (`block.*`):
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":["ArbitraryTypedObject","TypedObject","PortableTextBlock","M","C","S","L","PortableTextMarkDefinition","PortableTextSpan","PortableTextBlockStyle","PortableTextListItemType","PortableTextLink","PortableTextListItemBlock","Omit"],"sources":["../../../node_modules/.pnpm/@portabletext+types@3.0.0/node_modules/@portabletext/types/dist/index.d.ts","../src/from-portable-text/renderers/block-spacing.ts","../src/from-portable-text/types.ts","../src/from-portable-text/portable-text-to-markdown.ts","../src/from-portable-text/renderers/hard-break.ts","../src/from-portable-text/renderers/list-item.ts","../src/from-portable-text/renderers/style.ts","../src/from-portable-text/renderers/marks.ts","../src/from-portable-text/renderers/type.ts","../src/to-portable-text/matchers.ts","../src/to-portable-text/markdown-to-portable-text.ts"],"sourcesContent":["/**\n * Any object with an `_type` that is a string. Can hold any other properties.\n * @public\n */\nexport declare type ArbitraryTypedObject = TypedObject & {\n [key: string]: any;\n};\n\n/**\n * A Portable Text Block can be thought of as one paragraph, quote or list item.\n * In other words, it is a container for text, that can have a visual style associated with it.\n * The actual text value is stored in portable text spans inside of the `childen` array.\n *\n * @typeParam M - Mark types that be used for text spans\n * @typeParam C - Types allowed as children of this block\n * @typeParam S - Allowed block styles (eg `normal`, `blockquote`, `h3` etc)\n * @typeParam L - Allowed list item types (eg `number`, `bullet` etc)\n * @public\n */\nexport declare interface PortableTextBlock<\n M extends PortableTextMarkDefinition = PortableTextMarkDefinition,\n C extends TypedObject = ArbitraryTypedObject | PortableTextSpan,\n S extends string = PortableTextBlockStyle,\n L extends string = PortableTextListItemType,\n> extends TypedObject {\n /**\n * Type name identifying this as a portable text block.\n * All items within a portable text array should have a `_type` property.\n *\n * Usually 'block', but can be customized to other values\n */\n _type: \"block\" | string;\n /**\n * A key that identifies this block uniquely within the parent array. Used to more easily address\n * the block when editing collaboratively, but is also very useful for keys inside of React and\n * other rendering frameworks that can use keys to optimize operations.\n */\n _key?: string;\n /**\n * Array of inline items for this block. Usually contain text spans, but can be\n * configured to include inline objects of other types as well.\n */\n children: C[];\n /**\n * Array of mark definitions used in child text spans. By having them be on the block level,\n * the same mark definition can be reused for multiple text spans, which is often the case\n * with nested marks.\n */\n markDefs?: M[];\n /**\n * Visual style of the block\n * Common values: 'normal', 'blockquote', 'h1'...'h6'\n */\n style?: S;\n /**\n * If this block is a list item, identifies which style of list item this is\n * Common values: 'bullet', 'number', but can be configured\n */\n listItem?: L;\n /**\n * If this block is a list item, identifies which level of nesting it belongs within\n */\n level?: number;\n}\n\n/**\n * A set of _common_ (but not required/standarized) block styles\n * @public\n */\nexport declare type PortableTextBlockStyle =\n | \"normal\"\n | \"blockquote\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | string;\n\n/**\n * The simplest representation of a link\n * @public\n */\nexport declare interface PortableTextLink {\n _type: \"link\";\n href: string;\n}\n\n/**\n * Strictly speaking the same as a portable text block, but `listItem` is required\n *\n * @typeParam M - Mark types that be used for text spans\n * @typeParam C - Types allowed as children of this block\n * @typeParam S - Allowed block styles (eg `normal`, `blockquote`, `h3` etc)\n * @typeParam L - Allowed list item types (eg `number`, `bullet` etc)\n * @public\n */\nexport declare interface PortableTextListItemBlock<\n M extends PortableTextMarkDefinition = PortableTextMarkDefinition,\n C extends TypedObject = PortableTextSpan,\n S extends string = PortableTextBlockStyle,\n L extends string = PortableTextListItemType,\n> extends Omit<PortableTextBlock<M, C, S, L>, \"listItem\"> {\n listItem: L;\n}\n\n/**\n * A set of _common_ (but not required/standardized) list item types\n * @public\n */\nexport declare type PortableTextListItemType = \"bullet\" | \"number\" | string;\n\n/**\n * A mark definition holds information for marked text. For instance, a text span could reference\n * a mark definition for a hyperlink, a geoposition, a reference to a document or anything that is\n * representable as a JSON object.\n * @public\n */\nexport declare interface PortableTextMarkDefinition {\n /**\n * Unknown properties\n */\n [key: string]: unknown;\n /**\n * Identifies the type of mark this is, and is used to pick the correct React components to use\n * when rendering a text span marked with this mark type.\n */\n _type: string;\n /**\n * Uniquely identifies this mark definition within the block\n */\n _key: string;\n}\n\n/**\n * A Portable Text Span holds a chunk of the actual text value of a Portable Text Block\n * @public\n */\nexport declare interface PortableTextSpan {\n /**\n * Type is always `span` for portable text spans, as these don't vary in shape\n */\n _type: \"span\";\n /**\n * Unique (within parent block) key for this portable text span\n */\n _key?: string;\n /**\n * The actual text value of this text span\n */\n text: string;\n /**\n * An array of marks this text span is annotated with, identified by its `_key`.\n * If the key cannot be found in the parent blocks mark definition, the mark is assumed to be a\n * decorator (a simpler mark without any properties - for instance `strong` or `em`)\n */\n marks?: string[];\n}\n\n/**\n * Any object with an `_type` property (which is required in portable text arrays),\n * as well as a _potential_ `_key` (highly encouraged)\n * @public\n */\nexport declare interface TypedObject {\n /**\n * Identifies the type of object/span this is, and is used to pick the correct React components\n * to use when rendering a span or inline object with this type.\n */\n _type: string;\n /**\n * Uniquely identifies this object within its parent block.\n * Not _required_, but highly encouraged.\n */\n _key?: string;\n}\n\nexport {};\n"],"x_google_ignoreList":[0],"mappings":"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xKH;EACA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EACA,KAAA,EAAA,MAAA;CACA,GRuKL,WQvKK;AACA,KRwKG,UAAA,GQxKH,CAAA,URwK2B,WQxK3B,CAAA,CAAA,OAAA,ERyKE,YQzKF,CRyKe,CQzKf,CAAA,EAAA,GAAA,MAAA;AACA,UR2KQ,YQ3KR,CAAA,CAAA,CAAA,CAAA;EAGI,IAAA,ERyKL,CQzKK;EACA,KAAA,EAAA,MAAA;EAGF,QAAA,EAAA,OAAA;EACU,UAAA,ERuKP,UQvKO;;AVpDrB,KGkDK,SAAA,GAAU,OHlDUC,CGkDF,qBHlDmBI,CAAAA,GAAA;EAC9BC,YAAAA,CAAAA,EGkDK,oBHlDLA;CAA6BA;;;;AAEpBE,iBGsDL,sBHtDKA,CAAAA,cGuDL,WHvDKA,GGuDS,mBHvDTA,GGuD6B,oBHvD7BA,CAAAA,CAAAA,MAAAA,EGwDX,KHxDWA,CGwDL,KHxDKA,CAAAA,EAAAA,OAAAA,CAAAA,EGwDY,SHxDZA,CAAAA,EAAAA,MAAAA;;;AAlBrB;AAeyBP,cIhBZ,wBJgB6BI,EAAAA,GAAA,GAAA,MAAA;;AAf1C;AAeA;AACYC,cKfC,uBLeDA,EKf0B,4BLe1BA;AAhBZ,KMDK,2BAAA,GAA4B,oBNCqB,CMDA,mBNCA,CAAA;AAetD;;;AAEYN,cMbC,qBNaDA,EMbwB,2BNaxBA;;;;AAESS,cMDR,yBNCQA,EMDmB,2BNCnBA;;;;AAmCRJ,cMpBA,iBNoBAA,EMpBmB,2BNoBnBA;;;AAWb;AA6ByBM,cMtDZ,iBNsDqC,EMtDlB,2BNsDkB;;;;AAExBJ,cMlDb,iBNkDaA,EMlDM,2BNkDNA;;;;AAGUJ,cM/CvB,iBN+CuBA,EM/CJ,2BN+CIA;;;;AACxBE,cM1CC,iBN0CDA,EM1CoB,2BN0CpBA;;;AAOZ;AAQyBC,cMnDZ,iBNmDsC,EMnDnB,2BNmDmB;AAnHnD;AAeA;;AACyCA,cOd5B,iBPc4BA,EOdT,wBPcSA;;;;AAEpBE,cOVR,qBPUQA,EOVe,wBPUfA;;;;AA+BXJ,cOnCG,mBPmCHA,EOnCwB,wBPmCxBA;;;;AAgBUI,cO7CP,wBP6C6B,EO7CH,wBP6CG;AA6B1C;;;AAEYR,cOrEC,4BPqEDA,EOrE+B,wBPqE/BA;UOjEF,WAAA,SAAoB,WPiEJO,CAAAA;EACLC,KAAAA,EAAAA,MAAAA;EACAC,IAAAA,EAAAA,MAAAA;EACYP,KAAAA,EAAAA,MAAAA,GAAAA,SAAAA;;;;;AACrBG,cO5DC,mBP4DDA,EO5DsB,wBP4DtBA,CO5D+C,WP4D/CA,CAAAA;AApGZ;AAeA;;AACyCC,cQd5B,wBRc4BA,EQdF,wBRcEA,CAAAA;EAC7BN,KAAAA,EAAAA,MAAAA;EAAcD,IAAAA,EAAAA,MAAAA;EAAuBQ,QAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAC5BC,CAAAA;;;;AA+BXJ,cQpCG,6BRoCHA,EQpCkC,wBRoClCA;;;;AAgBUI,cQ7CP,mBR6C6B,EQ7CR,wBR6CQ,CAAA;EA6BjBG,KAAAA,EAAAA,MAAAA;EACbL,IAAAA,EAAAA,MAAAA;CAA6BA,CAAAA;;;;AAGpBG,cQpER,oBRoEQA,EQpEc,wBRoEdA,CAAAA;EACYP,KAAAA,EAAAA,OAAAA;EAAGC,GAAAA,EAAAA,MAAAA;EAAGC,GAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAGC,KAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAA3BJ,CAAAA;;;;AAQKQ,cQ/DP,oBR+D+B,EQ/DT,wBR+DS,CAAA;EAQnBH,KAAAA,EAAAA,OAAAA;EAoBAC,UAAAA,EAAAA,MAAAA,GAAgB,SAAA;EA0BhBP,IAAAA,EQlHjB,KRkHiBA,CAAAA;;IC5Jb,KAAA,EO4CD,KP5CC,CAAA;MAQC,IAAA,EAAA,MAAA;aOsCA,MAAM;INzCP,CAAA,CAAA;EASA,CAAA,CAAA;AAOZ,CAAA,CAAA;;AF1BA;AAeA;;;AAEYA,KSVA,YAAA,GTUAA,CAAAA;EAAAA;CAAAA,EAAAA;EAAcD,OAAAA,EAAAA;IAAuBQ,MAAAA,ESP7B,MTO6BA;EAC5BC,CAAAA;CACAC,EAAAA,GAAAA,MAAAA,GAAAA,SAAAA;;;;AA8CrB;AA6BA;AACYH,KS7DA,eAAA,GT6DAA,CAAAA;EAAAA;CAAAA,EAAAA;EAA6BA,OAAAA,EAAAA;IAC7BN,MAAAA,ES3DQ,MT2DRA;EAAcO,CAAAA;CACLC,EAAAA,GAAAA,MAAAA,GAAAA,SAAAA;;;;;;AAEP,KStCF,gBAAA,GTsCE,CAAA;EAAA;AA8Dd,CA9Dc,EAAA;EAQMC,OAAAA,EAAAA;IAQKH,MAAAA,ESnDL,MTmDKA;EAoBAC,CAAAA;AA0BzB,CAAA,EAAA,GAAyBP,MAAAA,GAAAA,SAAW;;AEvJpC;AASA;AAOA;AAQA;AAA+C,KOsDnC,iBPtDmC,CAAA,eOuD9B,MPvD8B,CAAA,MAAA,EAAA,OAAA,CAAA,GOuDJ,MPvDI,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,CAAA;EAAA,OAAA;EAAA;CAAA,EAAA;EACJ,OAAA,EAAA;IAAhC,MAAA,EO2DS,MP3DT;IAA+B,YAAA,EAAA,GAAA,GAAA,MAAA;EAM9B,CAAA;EAAmC,KAAA,EOsDtC,MPtDsC;CACJ,EAAA,GOsDrC,kBPtDqC,GAAA,SAAA;;;;;;AAuCN,KOsDzB,aPtDyB,CAAA,eOuDpB,MPvDoB,CAAA,MAAA,EAAA,OAAA,CAAA,GOuDM,MPvDN,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,GAAA,CAAA;EAAA,OAAA;EAAA,KAAA;EAAA;CAAA,EAAA;EAA/B,OAAA,EAAA;IACA,MAAA,EO4Dc,MP5Dd;IAWO,YAAA,EAAA,GAAA,GAAA,MAAA;EAA0B,CAAA;EAAjC,KAAA,EOkDG,MPlDH;EACA,QAAA,EAAA,OAAA;CAYS,EAAA,GOuCT,kBPvCS,GAAA,SAAA;AF1Gf,KUyCK,OAAA,GVzCeD;EAeKE,MAAAA,CAAAA,EU2Bd,MV3BcA;EACbK,YAAAA,CAAAA,EAAAA,GAAAA,GAAAA,MAAAA;EAA6BA,KAAAA,CAAAA,EAAAA;IAC7BN,MAAAA,CAAAA,EU4BC,gBV5BDA;IAAcD,EAAAA,CAAAA,EU6BjB,gBV7BiBA;IAAuBQ,IAAAA,CAAAA,EU8BtC,gBV9BsCA;IAC5BC,aAAAA,CAAAA,EU8BD,gBV9BCA;IACAC,IAAAA,CAAAA,EU8BV,iBV9BUA,CAAAA;MAmBTN,IAAAA,EAAAA,MAAAA;MAMCD,KAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAKHE,CAAAA,CAAAA;EAKGC,CAAAA;EAlCHL,KAAAA,CAAAA,EAAAA;IAAW,MAAA,CAAA,EUgCR,YVhCQ;IA6CDQ,UAAAA,CAAAA,EUZH,YVYyB;IA6BjBG,EAAAA,CAAAA,EUxChB,YVwCgBA;IACbL,EAAAA,CAAAA,EUxCH,YVwCGA;IAA6BA,EAAAA,CAAAA,EUvChC,YVuCgCA;IAC7BN,EAAAA,CAAAA,EUvCH,YVuCGA;IAAcO,EAAAA,CAAAA,EUtCjB,YVsCiBA;IACLC,EAAAA,CAAAA,EUtCZ,YVsCYA;EACAC,CAAAA;EACYP,QAAAA,CAAAA,EAAAA;IAAGC,MAAAA,CAAAA,EUrCvB,eVqCuBA;IAAGC,MAAAA,CAAAA,EUpC1B,eVoC0BA;EAAGC,CAAAA;EAA3BJ,KAAAA,CAAAA,EAAAA;IACHI,IAAAA,CAAAA,EUlCD,aVkCCA,CAAAA;MADFO,QAAAA,EAAAA,MAAAA,GAAAA,SAAAA;MAAI,IAAA,EAAA,MAAA;IAQMH,CAAAA,CAAAA;IAQKH,cAAAA,CAAAA,EUhDJ,aVgD8B;IAoB1BC,IAAAA,CAAAA,EUnEd,aVmE8B,CAAA;MA0BhBP,IAAAA,EAAW,MAAA;;IC5JxB,KAAA,CAAA,ESgEA,aThEoB,CAAA;MAQnB,UAAA,EAAA,MAAA,GAAA,SAqBZ;YSqCW;QR7DA,IAAA,EAAA,MAAoB;QASpB,KAAA,EAAA,KAAA;QAOA,KAAA,EQgDG,KRhDH,CAAA;UAQA,KAAA,EAAA,MAAwB;UAAW,IAAA,EAAA,MAAA;UACJ,KAAA,EQ0C1B,KR1C0B,CQ0CpB,iBR1CoB,CAAA;QAAhC,CAAA,CAAA;MAA+B,CAAA,CAAA;IAM9B,CAAA,CAAA;IAAmC,KAAA,CAAA,EQwCnC,aRxCmC,CAAA;MACJ,GAAA,EAAA,MAAA;MAAhC,GAAA,EAAA,MAAA;MAA+B,KAAA,EAAA,MAAA,GAAA,SAAA;IASzB,CAAA,CAAA;EAWO,CAAA;EAAf,IAAA,CAAA,EAAA;IAQe;;;;;;;IAuBe,MAAA,CAAA,EAAA,MAAA,GAAA,MAAA;EAAjC,CAAA;CACA;;;;;;AA8BkC,iBQ2ExB,sBAAA,CR3EwB,QAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EQ6E5B,OR7E4B,CAAA,EQ8ErC,KR9EqC,CQ8E/B,iBR9E+B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","names":["ArbitraryTypedObject","TypedObject","PortableTextBlock","M","C","S","L","PortableTextMarkDefinition","PortableTextSpan","PortableTextBlockStyle","PortableTextListItemType","PortableTextLink","PortableTextListItemBlock","Omit"],"sources":["../../../node_modules/.pnpm/@portabletext+types@3.0.0/node_modules/@portabletext/types/dist/index.d.ts","../src/from-portable-text/renderers/block-spacing.ts","../src/from-portable-text/types.ts","../src/from-portable-text/portable-text-to-markdown.ts","../src/from-portable-text/renderers/hard-break.ts","../src/from-portable-text/renderers/list-item.ts","../src/from-portable-text/renderers/style.ts","../src/from-portable-text/renderers/marks.ts","../src/from-portable-text/renderers/type.ts","../src/to-portable-text/matchers.ts","../src/to-portable-text/markdown-to-portable-text.ts"],"sourcesContent":["/**\n * Any object with an `_type` that is a string. Can hold any other properties.\n * @public\n */\nexport declare type ArbitraryTypedObject = TypedObject & {\n [key: string]: any;\n};\n\n/**\n * A Portable Text Block can be thought of as one paragraph, quote or list item.\n * In other words, it is a container for text, that can have a visual style associated with it.\n * The actual text value is stored in portable text spans inside of the `childen` array.\n *\n * @typeParam M - Mark types that be used for text spans\n * @typeParam C - Types allowed as children of this block\n * @typeParam S - Allowed block styles (eg `normal`, `blockquote`, `h3` etc)\n * @typeParam L - Allowed list item types (eg `number`, `bullet` etc)\n * @public\n */\nexport declare interface PortableTextBlock<\n M extends PortableTextMarkDefinition = PortableTextMarkDefinition,\n C extends TypedObject = ArbitraryTypedObject | PortableTextSpan,\n S extends string = PortableTextBlockStyle,\n L extends string = PortableTextListItemType,\n> extends TypedObject {\n /**\n * Type name identifying this as a portable text block.\n * All items within a portable text array should have a `_type` property.\n *\n * Usually 'block', but can be customized to other values\n */\n _type: \"block\" | string;\n /**\n * A key that identifies this block uniquely within the parent array. Used to more easily address\n * the block when editing collaboratively, but is also very useful for keys inside of React and\n * other rendering frameworks that can use keys to optimize operations.\n */\n _key?: string;\n /**\n * Array of inline items for this block. Usually contain text spans, but can be\n * configured to include inline objects of other types as well.\n */\n children: C[];\n /**\n * Array of mark definitions used in child text spans. By having them be on the block level,\n * the same mark definition can be reused for multiple text spans, which is often the case\n * with nested marks.\n */\n markDefs?: M[];\n /**\n * Visual style of the block\n * Common values: 'normal', 'blockquote', 'h1'...'h6'\n */\n style?: S;\n /**\n * If this block is a list item, identifies which style of list item this is\n * Common values: 'bullet', 'number', but can be configured\n */\n listItem?: L;\n /**\n * If this block is a list item, identifies which level of nesting it belongs within\n */\n level?: number;\n}\n\n/**\n * A set of _common_ (but not required/standarized) block styles\n * @public\n */\nexport declare type PortableTextBlockStyle =\n | \"normal\"\n | \"blockquote\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | string;\n\n/**\n * The simplest representation of a link\n * @public\n */\nexport declare interface PortableTextLink {\n _type: \"link\";\n href: string;\n}\n\n/**\n * Strictly speaking the same as a portable text block, but `listItem` is required\n *\n * @typeParam M - Mark types that be used for text spans\n * @typeParam C - Types allowed as children of this block\n * @typeParam S - Allowed block styles (eg `normal`, `blockquote`, `h3` etc)\n * @typeParam L - Allowed list item types (eg `number`, `bullet` etc)\n * @public\n */\nexport declare interface PortableTextListItemBlock<\n M extends PortableTextMarkDefinition = PortableTextMarkDefinition,\n C extends TypedObject = PortableTextSpan,\n S extends string = PortableTextBlockStyle,\n L extends string = PortableTextListItemType,\n> extends Omit<PortableTextBlock<M, C, S, L>, \"listItem\"> {\n listItem: L;\n}\n\n/**\n * A set of _common_ (but not required/standardized) list item types\n * @public\n */\nexport declare type PortableTextListItemType = \"bullet\" | \"number\" | string;\n\n/**\n * A mark definition holds information for marked text. For instance, a text span could reference\n * a mark definition for a hyperlink, a geoposition, a reference to a document or anything that is\n * representable as a JSON object.\n * @public\n */\nexport declare interface PortableTextMarkDefinition {\n /**\n * Unknown properties\n */\n [key: string]: unknown;\n /**\n * Identifies the type of mark this is, and is used to pick the correct React components to use\n * when rendering a text span marked with this mark type.\n */\n _type: string;\n /**\n * Uniquely identifies this mark definition within the block\n */\n _key: string;\n}\n\n/**\n * A Portable Text Span holds a chunk of the actual text value of a Portable Text Block\n * @public\n */\nexport declare interface PortableTextSpan {\n /**\n * Type is always `span` for portable text spans, as these don't vary in shape\n */\n _type: \"span\";\n /**\n * Unique (within parent block) key for this portable text span\n */\n _key?: string;\n /**\n * The actual text value of this text span\n */\n text: string;\n /**\n * An array of marks this text span is annotated with, identified by its `_key`.\n * If the key cannot be found in the parent blocks mark definition, the mark is assumed to be a\n * decorator (a simpler mark without any properties - for instance `strong` or `em`)\n */\n marks?: string[];\n}\n\n/**\n * Any object with an `_type` property (which is required in portable text arrays),\n * as well as a _potential_ `_key` (highly encouraged)\n * @public\n */\nexport declare interface TypedObject {\n /**\n * Identifies the type of object/span this is, and is used to pick the correct React components\n * to use when rendering a span or inline object with this type.\n */\n _type: string;\n /**\n * Uniquely identifies this object within its parent block.\n * Not _required_, but highly encouraged.\n */\n _key?: string;\n}\n\nexport {};\n"],"x_google_ignoreList":[0],"mappings":"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xKH;EACA,CAAA,GAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EACA,KAAA,EAAA,MAAA;CACA,GRuKL,WQvKK;AACA,KRwKG,UAAA,GQxKH,CAAA,URwK2B,WQxK3B,CAAA,CAAA,OAAA,ERyKE,YQzKF,CRyKe,CQzKf,CAAA,EAAA,GAAA,MAAA;AACA,UR2KQ,YQ3KR,CAAA,CAAA,CAAA,CAAA;EAGI,IAAA,ERyKL,CQzKK;EACA,KAAA,EAAA,MAAA;EAGF,QAAA,EAAA,OAAA;EACU,UAAA,ERuKP,UQvKO;;AVpDrB,KGkDK,SAAA,GAAU,OHlDUC,CGkDF,qBHlDmBI,CAAAA,GAAA;EAC9BC,YAAAA,CAAAA,EGkDK,oBHlDLA;CAA6BA;;;;AAEpBE,iBGsDL,sBHtDKA,CAAAA,cGuDL,WHvDKA,GGuDS,mBHvDTA,GGuD6B,oBHvD7BA,CAAAA,CAAAA,MAAAA,EGwDX,KHxDWA,CGwDL,KHxDKA,CAAAA,EAAAA,OAAAA,CAAAA,EGwDY,SHxDZA,CAAAA,EAAAA,MAAAA;;;AAlBrB;AAeyBP,cIhBZ,wBJgB6BI,EAAAA,GAAA,GAAA,MAAA;;AAf1C;AAeA;AACYC,cKfC,uBLeDA,EKf0B,4BLe1BA;AAhBZ,KMDK,2BAAA,GAA4B,oBNCqB,CMDA,mBNCA,CAAA;AAetD;;;AAEYN,cMbC,qBNaDA,EMbwB,2BNaxBA;;;;AAESS,cMDR,yBNCQA,EMDmB,2BNCnBA;;;;AAmCRJ,cMlBA,iBNkBAA,EMlBmB,2BNkBnBA;;;AAWb;AA6ByBM,cMpDZ,iBNoDqC,EMpDlB,2BNoDkB;;;;AAExBJ,cMhDb,iBNgDaA,EMhDM,2BNgDNA;;;;AAGUJ,cM7CvB,iBN6CuBA,EM7CJ,2BN6CIA;;;;AACxBE,cMxCC,iBNwCDA,EMxCoB,2BNwCpBA;;;AAOZ;AAQyBC,cMjDZ,iBNiDsC,EMjDnB,2BNiDmB;AAnHnD;AAeA;;AACyCA,cOd5B,iBPc4BA,EOdT,wBPcSA;;;;AAEpBE,cOVR,qBPUQA,EOVe,wBPUfA;;;;AA+BXJ,cOnCG,mBPmCHA,EOnCwB,wBPmCxBA;;;;AAgBUI,cO7CP,wBP6C6B,EO7CH,wBP6CG;AA6B1C;;;A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"}