@prismicio/types-internal 4.0.0-pr.6.09bccf8 → 4.0.0-pr.6.38cb7de

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.
Files changed (160) hide show
  1. package/dist/content/codec/document.js +1 -1
  2. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -1
  3. package/dist/content/codec/legacyContentCtx.js.map +1 -1
  4. package/dist/content/codec/link.js +8 -8
  5. package/dist/content/codec/link.js.map +1 -1
  6. package/dist/content/codec/richText.js +2 -2
  7. package/dist/content/codec/richText.js.map +1 -1
  8. package/dist/content/codec/slice.js.map +1 -1
  9. package/dist/content/document.d.ts +2 -3019
  10. package/dist/content/document.d.ts.map +1 -1
  11. package/dist/content/field.d.ts +1 -30
  12. package/dist/content/field.d.ts.map +1 -1
  13. package/dist/content/field.js.map +1 -1
  14. package/dist/content/group.d.ts +2 -1
  15. package/dist/content/group.d.ts.map +1 -1
  16. package/dist/content/group.js.map +1 -1
  17. package/dist/content/legacy/boolean.d.ts +1 -0
  18. package/dist/content/legacy/embed.d.ts +1 -0
  19. package/dist/content/legacy/empty.d.ts +1 -0
  20. package/dist/content/legacy/field.d.ts +1 -0
  21. package/dist/content/legacy/geopoint.d.ts +1 -0
  22. package/dist/content/legacy/group.d.ts +9 -0
  23. package/dist/content/legacy/group.d.ts.map +1 -0
  24. package/dist/content/legacy/group.js.map +1 -1
  25. package/dist/content/legacy/integrationField.d.ts +1 -0
  26. package/dist/content/legacy/link.d.ts +41 -0
  27. package/dist/content/legacy/link.d.ts.map +1 -0
  28. package/dist/content/legacy/link.js.map +1 -1
  29. package/dist/content/legacy/nestable.d.ts +1 -0
  30. package/dist/content/legacy/nestable.js.map +1 -1
  31. package/dist/content/legacy/repeatable.d.ts +1 -0
  32. package/dist/content/legacy/richText.d.ts +109 -0
  33. package/dist/content/legacy/richText.d.ts.map +1 -0
  34. package/dist/content/legacy/richText.js +3 -3
  35. package/dist/content/legacy/richText.js.map +1 -1
  36. package/dist/content/legacy/separator.d.ts +1 -0
  37. package/dist/content/legacy/slice.js.map +1 -1
  38. package/dist/content/legacy/table.d.ts +1 -0
  39. package/dist/content/link.d.ts +74 -99
  40. package/dist/content/link.d.ts.map +1 -1
  41. package/dist/content/link.js +2 -2
  42. package/dist/content/link.js.map +1 -1
  43. package/dist/content/nestable.d.ts +13 -749
  44. package/dist/content/nestable.d.ts.map +1 -1
  45. package/dist/content/nestable.js.map +1 -1
  46. package/dist/content/repeatable.d.ts +3 -98
  47. package/dist/content/repeatable.d.ts.map +1 -1
  48. package/dist/content/richText.d.ts +81 -131
  49. package/dist/content/richText.d.ts.map +1 -1
  50. package/dist/content/richText.js +5 -4
  51. package/dist/content/richText.js.map +1 -1
  52. package/dist/content/slice.d.ts +6 -4509
  53. package/dist/content/slice.d.ts.map +1 -1
  54. package/dist/content/slice.js.map +1 -1
  55. package/dist/content/slices.d.ts +8 -6765
  56. package/dist/content/slices.d.ts.map +1 -1
  57. package/dist/content/slices.js +4 -4
  58. package/dist/content/slices.js.map +1 -1
  59. package/dist/content/table.d.ts +2 -134
  60. package/dist/content/table.d.ts.map +1 -1
  61. package/dist/content/widget.d.ts +5 -3020
  62. package/dist/content/widget.d.ts.map +1 -1
  63. package/dist/content/widget.js.map +1 -1
  64. package/dist/helpers/customTypeModel.d.ts +1 -1
  65. package/dist/helpers/customTypeModel.d.ts.map +1 -1
  66. package/dist/helpers/customTypeModel.js.map +1 -1
  67. package/dist/helpers/documentContent.d.ts +3 -9
  68. package/dist/helpers/documentContent.d.ts.map +1 -1
  69. package/dist/helpers/documentContent.js +5 -5
  70. package/dist/helpers/documentContent.js.map +1 -1
  71. package/dist/helpers/traverseContent.d.ts +16 -17
  72. package/dist/helpers/traverseContent.d.ts.map +1 -1
  73. package/dist/helpers/traverseContent.js +4 -4
  74. package/dist/helpers/traverseContent.js.map +1 -1
  75. package/dist/helpers/traverseContentWithModel.d.ts +16 -17
  76. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -1
  77. package/dist/helpers/traverseContentWithModel.js +4 -4
  78. package/dist/helpers/traverseContentWithModel.js.map +1 -1
  79. package/dist/index.d.ts +26 -26
  80. package/dist/index.js +2 -1
  81. package/dist/io-ts.d.ts +3380 -67677
  82. package/dist/io-ts.d.ts.map +1 -1
  83. package/dist/io-ts.js +125 -119
  84. package/dist/io-ts.js.map +1 -1
  85. package/dist/model/customType.d.ts +3 -3329
  86. package/dist/model/customType.d.ts.map +1 -1
  87. package/dist/model/group.d.ts +391 -392
  88. package/dist/model/group.d.ts.map +1 -1
  89. package/dist/model/group.js.map +1 -1
  90. package/dist/model/image.d.ts +4 -4
  91. package/dist/model/image.js.map +1 -1
  92. package/dist/model/link.d.ts +18 -18
  93. package/dist/model/link.d.ts.map +1 -1
  94. package/dist/model/link.js +7 -7
  95. package/dist/model/link.js.map +1 -1
  96. package/dist/model/nestable.d.ts +17 -178
  97. package/dist/model/nestable.d.ts.map +1 -1
  98. package/dist/model/nestable.js +2 -2
  99. package/dist/model/nestable.js.map +1 -1
  100. package/dist/model/richText.d.ts +3 -7
  101. package/dist/model/richText.d.ts.map +1 -1
  102. package/dist/model/richText.js +4 -3
  103. package/dist/model/richText.js.map +1 -1
  104. package/dist/model/section.d.ts +3 -3329
  105. package/dist/model/section.d.ts.map +1 -1
  106. package/dist/model/select.d.ts +1 -1
  107. package/dist/model/select.js +1 -1
  108. package/dist/model/select.js.map +1 -1
  109. package/dist/model/slice.d.ts +861 -3800
  110. package/dist/model/slice.d.ts.map +1 -1
  111. package/dist/model/slice.js +7 -2
  112. package/dist/model/slice.js.map +1 -1
  113. package/dist/model/slices.d.ts +3 -2195
  114. package/dist/model/slices.d.ts.map +1 -1
  115. package/dist/model/table.d.ts +2 -1
  116. package/dist/model/table.d.ts.map +1 -1
  117. package/dist/model/table.js +9 -7
  118. package/dist/model/table.js.map +1 -1
  119. package/dist/model/widget.d.ts +6 -3331
  120. package/dist/model/widget.d.ts.map +1 -1
  121. package/dist/model/widget.js.map +1 -1
  122. package/dist/zod4.d.ts +1345 -32523
  123. package/dist/zod4.d.ts.map +1 -1
  124. package/dist/zod4.js +125 -119
  125. package/dist/zod4.js.map +1 -1
  126. package/package.json +3 -2
  127. package/src/content/codec/legacyContentCtx.ts +1 -0
  128. package/src/content/codec/link.ts +8 -8
  129. package/src/content/codec/richText.ts +10 -6
  130. package/src/content/codec/slice.ts +3 -1
  131. package/src/content/field.ts +9 -2
  132. package/src/content/group.ts +5 -2
  133. package/src/content/legacy/group.ts +10 -4
  134. package/src/content/legacy/link.ts +32 -9
  135. package/src/content/legacy/nestable.ts +26 -2
  136. package/src/content/legacy/richText.ts +40 -7
  137. package/src/content/legacy/slice.ts +2 -2
  138. package/src/content/legacy/widget.ts +6 -2
  139. package/src/content/link.ts +32 -9
  140. package/src/content/nestable.ts +40 -2
  141. package/src/content/richText.ts +31 -9
  142. package/src/content/slice.ts +2 -2
  143. package/src/content/slices.ts +5 -3
  144. package/src/content/widget.ts +6 -2
  145. package/src/helpers/customTypeModel.ts +6 -3
  146. package/src/helpers/documentContent.ts +24 -29
  147. package/src/helpers/traverseContent.ts +32 -27
  148. package/src/helpers/traverseContentWithModel.ts +35 -27
  149. package/src/index.ts +11 -3
  150. package/src/io-ts.ts +173 -134
  151. package/src/model/group.ts +4 -1
  152. package/src/model/image.ts +1 -1
  153. package/src/model/link.ts +39 -45
  154. package/src/model/nestable.ts +33 -1
  155. package/src/model/richText.ts +2 -2
  156. package/src/model/select.ts +2 -2
  157. package/src/model/slice.ts +36 -9
  158. package/src/model/table.ts +10 -2
  159. package/src/model/widget.ts +10 -9
  160. package/src/zod4.ts +168 -133
@@ -1,48 +1,43 @@
1
1
  import { z } from "zod/mini"
2
2
 
3
- import type { DocumentContent } from "../content/document";
4
- import { traverseDocumentContent } from "./traverseContent";
5
- import * as contentPath from "./contentPath";
6
- import type { WidgetContent } from "../content/widget";
7
- import type { DocumentLegacy } from "../content/legacy/document";
8
- import { DocumentLegacySchema } from "../content/legacy/document";
9
- import { DocumentLegacyCodec } from "../content/codec/document";
10
- import { defaultCtx } from "../content/codec/legacyContentCtx";
11
- import type { FieldOrSliceType } from "../model/widget";
12
- import { FieldOrSliceTypeSchema } from "../model/widget";
3
+ import { DocumentLegacyCodec } from "../content/codec/document"
4
+ import { defaultCtx } from "../content/codec/legacyContentCtx"
5
+ import type { DocumentContent } from "../content/document"
6
+ import type { DocumentLegacy } from "../content/legacy/document"
7
+ import { DocumentLegacySchema } from "../content/legacy/document"
8
+ import type { WidgetContent } from "../content/widget"
9
+ import type { FieldOrSliceType } from "../model/widget"
10
+ import { FieldOrSliceTypeSchema } from "../model/widget"
11
+ import * as contentPath from "./contentPath"
12
+ import { traverseDocumentContent } from "./traverseContent"
13
13
 
14
14
  export function collectWidgets<TWidgetContent extends WidgetContent>(
15
15
  document: DocumentContent,
16
- test: (args: {
17
- path: contentPath.Path;
18
- key: string;
19
- apiID: string;
20
- content: WidgetContent;
21
- }) => args is {
22
- path: contentPath.Path;
23
- key: string;
24
- apiID: string;
25
- content: TWidgetContent;
26
- }
16
+ test: (
17
+ content: WidgetContent,
18
+ args: {
19
+ path: contentPath.Path
20
+ key: string
21
+ apiID: string
22
+ },
23
+ ) => content is TWidgetContent,
27
24
  ): Record<string, TWidgetContent> {
28
25
  const collected: Record<string, TWidgetContent> = {}
29
26
 
30
27
  traverseDocumentContent(document, {
31
- transformWidget: (args) => {
32
- if (test(args)) {
33
- collected[contentPath.serialize(args.path)] = args.content
28
+ transformWidget: ({ content, ...args }) => {
29
+ if (test(content, args)) {
30
+ collected[contentPath.serialize(args.path)] = content
34
31
  }
35
32
 
36
- return args.content
33
+ return content
37
34
  },
38
35
  })
39
36
 
40
37
  return collected
41
38
  }
42
39
 
43
- export function fromLegacy(
44
- legacy: DocumentLegacy,
45
- ): DocumentContent | undefined {
40
+ export function fromLegacy(legacy: DocumentLegacy): DocumentContent | undefined {
46
41
  const parsed = DocumentLegacySchema.safeParse(legacy)
47
42
  if (!parsed.success) {
48
43
  return
@@ -67,7 +62,7 @@ export function fromLegacy(
67
62
  }
68
63
  }
69
64
 
70
- const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(parsed.data)
65
+ const result = DocumentLegacyCodec(defaultCtx("", types, keys)).toContent(widgets)
71
66
  if (!result.success) {
72
67
  return
73
68
  }
@@ -1,16 +1,3 @@
1
- import type { StaticCustomTypeModel } from "../model/customType"
2
- import type { GroupModel, NestedGroupModel } from "../model/group"
3
- import type { LinkModel } from "../model/link"
4
- import type { NestableModel } from "../model/nestable"
5
- import type {
6
- CompositeSliceModel,
7
- LegacySliceModel,
8
- SharedSliceVariationModel,
9
- } from "../model/slice"
10
- import type { StaticSlicesModel } from "../model/slices"
11
- import { TableCellModel } from "../model/table"
12
- import type { TableModel } from "../model/table"
13
- import type { StaticWidgetModel } from "../model/widget"
14
1
  import type { DocumentContent } from "../content/document"
15
2
  import { GroupContentType } from "../content/group"
16
3
  import type { GroupContent, GroupItemContent } from "../content/group"
@@ -30,6 +17,20 @@ import {
30
17
  } from "../content/slices"
31
18
  import { TableContentType, type TableContent } from "../content/table"
32
19
  import type { WidgetContent } from "../content/widget"
20
+ import type { StaticCustomTypeModel } from "../model/customType"
21
+ import type { GroupModel, NestedGroupModel } from "../model/group"
22
+ import type { LinkModel } from "../model/link"
23
+ import type { NestableModel } from "../model/nestable"
24
+ import type {
25
+ CompositeSliceModel,
26
+ LegacySliceModel,
27
+ SharedSliceVariationContentModel,
28
+ SliceContentModel,
29
+ } from "../model/slice"
30
+ import type { StaticSlicesModel } from "../model/slices"
31
+ import { TableCellModel } from "../model/table"
32
+ import type { TableModel } from "../model/table"
33
+ import type { StaticWidgetModel } from "../model/widget"
33
34
  import * as contentPath from "./contentPath"
34
35
  import * as customTypeModel from "./customTypeModel"
35
36
 
@@ -90,7 +91,7 @@ export function traverseSlicesContent(
90
91
 
91
92
  let traversedSliceItemContent: SliceItemContent | undefined
92
93
  if (sliceItemContent.widget.__TYPE__ === SharedSliceContentType) {
93
- let model: SharedSliceVariationModel | undefined
94
+ let model: SharedSliceVariationContentModel | undefined
94
95
  if (sliceModel?.type === "SharedSlice") {
95
96
  const variationID = sliceItemContent.widget.variation
96
97
  const variationModel = sliceModel.variations.find(
@@ -152,9 +153,9 @@ export function traverseSlicesContent(
152
153
  }
153
154
 
154
155
  type TraverseSharedSliceContentConfig = {
155
- model?: SharedSliceVariationModel
156
- transformWidget: TraverseWidgetContentFunction
157
- transformSlice: TraverseSliceContentFunction
156
+ model?: SharedSliceVariationContentModel
157
+ transformWidget?: TraverseWidgetContentFunction
158
+ transformSlice?: TraverseSliceContentFunction
158
159
  }
159
160
 
160
161
  export function traverseSharedSliceContent(
@@ -164,7 +165,8 @@ export function traverseSharedSliceContent(
164
165
  content: SharedSliceItemContent,
165
166
  config: TraverseSharedSliceContentConfig,
166
167
  ): SharedSliceItemContent | undefined {
167
- const { transformWidget, transformSlice } = config
168
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
169
+ config
168
170
 
169
171
  const traversedPrimary: SharedSliceContent["primary"] = {}
170
172
  for (const [key, fieldContent] of Object.entries(content.widget.primary)) {
@@ -206,8 +208,8 @@ export function traverseSharedSliceContent(
206
208
 
207
209
  type TraverseCompositeSliceContentConfig = {
208
210
  model?: CompositeSliceModel
209
- transformWidget: TraverseWidgetContentFunction
210
- transformSlice: TraverseSliceContentFunction
211
+ transformWidget?: TraverseWidgetContentFunction
212
+ transformSlice?: TraverseSliceContentFunction
211
213
  }
212
214
 
213
215
  export function traverseCompositeSliceContent(
@@ -217,7 +219,8 @@ export function traverseCompositeSliceContent(
217
219
  content: CompositeSliceItemContent,
218
220
  config: TraverseCompositeSliceContentConfig,
219
221
  ): CompositeSliceItemContent | undefined {
220
- const { transformWidget, transformSlice } = config
222
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
223
+ config
221
224
 
222
225
  const traversedPrimary: CompositeSliceContent["nonRepeat"] = {}
223
226
  for (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {
@@ -256,8 +259,8 @@ export function traverseCompositeSliceContent(
256
259
 
257
260
  type TraverseLegacySliceContentConfig = {
258
261
  model?: LegacySliceModel
259
- transformWidget: TraverseWidgetContentFunction
260
- transformSlice: TraverseSliceContentFunction
262
+ transformWidget?: TraverseWidgetContentFunction
263
+ transformSlice?: TraverseSliceContentFunction
261
264
  }
262
265
 
263
266
  export function traverseLegacySliceContent(
@@ -267,7 +270,11 @@ export function traverseLegacySliceContent(
267
270
  content: LegacySliceItemContent,
268
271
  config: TraverseLegacySliceContentConfig,
269
272
  ): LegacySliceItemContent | undefined {
270
- const { model, transformWidget, transformSlice } = config
273
+ const {
274
+ model,
275
+ transformWidget = (args) => args.content,
276
+ transformSlice = (args) => args.content,
277
+ } = config
271
278
 
272
279
  const traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {
273
280
  model,
@@ -459,7 +466,7 @@ export type TraverseSliceContentFunction = <TContent extends SliceItemContent>(a
459
466
  key: string
460
467
  apiID: string
461
468
  content: TContent
462
- model?: SliceModel
469
+ model?: SliceContentModel
463
470
  }) => TContent | undefined
464
471
 
465
472
  export type TraverseWidgetContentFunction<
@@ -473,8 +480,6 @@ export type TraverseWidgetContentFunction<
473
480
  }) => (TContentTransformMode extends "preserve" ? TContent : WidgetContent) | undefined
474
481
 
475
482
  // Internals
476
- type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel
477
-
478
483
  type TraverseWidgetContentConfig = {
479
484
  model?: StaticWidgetModel
480
485
  transformWidget?: TraverseWidgetContentFunction
@@ -1,12 +1,3 @@
1
- import type { StaticCustomTypeModel } from "../model/customType"
2
- import type { GroupModel, NestedGroupModel } from "../model/group"
3
- import type { LinkModel } from "../model/link"
4
- import type { NestableModel } from "../model/nestable"
5
- import type { CompositeSliceModel, LegacySliceModel, SharedSliceVariationModel } from "../model/slice"
6
- import type { StaticSlicesModel } from "../model/slices"
7
- import { TableCellModel } from "../model/table"
8
- import type { TableModel } from "../model/table"
9
- import type { StaticWidgetModel } from "../model/widget"
10
1
  import type { DocumentContent } from "../content/document"
11
2
  import { GroupContentType } from "../content/group"
12
3
  import type { GroupContent, GroupItemContent } from "../content/group"
@@ -26,6 +17,20 @@ import {
26
17
  } from "../content/slices"
27
18
  import { TableContentType, type TableContent } from "../content/table"
28
19
  import type { WidgetContent } from "../content/widget"
20
+ import type { StaticCustomTypeModel } from "../model/customType"
21
+ import type { GroupModel, NestedGroupModel } from "../model/group"
22
+ import type { LinkModel } from "../model/link"
23
+ import type { NestableModel } from "../model/nestable"
24
+ import type {
25
+ CompositeSliceModel,
26
+ LegacySliceModel,
27
+ SharedSliceVariationContentModel,
28
+ SliceContentModel,
29
+ } from "../model/slice"
30
+ import type { StaticSlicesModel } from "../model/slices"
31
+ import { TableCellModel } from "../model/table"
32
+ import type { TableModel } from "../model/table"
33
+ import type { StaticWidgetModel } from "../model/widget"
29
34
  import * as contentPath from "./contentPath"
30
35
  import * as customTypeModel from "./customTypeModel"
31
36
 
@@ -101,7 +106,7 @@ export function traverseSlicesContentWithModel(
101
106
  const variationID = sliceItemContent.widget.variation
102
107
  const variationModel = model.variations.find((variation) => variation.id === variationID)
103
108
  if (variationModel) {
104
- const sharedSliceVariationModel: SharedSliceVariationModel = {
109
+ const sharedSliceVariationModel: SharedSliceVariationContentModel = {
105
110
  type: "SharedSlice",
106
111
  sliceName: model.id,
107
112
  variationID,
@@ -161,9 +166,9 @@ export function traverseSlicesContentWithModel(
161
166
  }
162
167
 
163
168
  type TraverseSharedSliceContentWithModelConfig = {
164
- model: SharedSliceVariationModel
165
- transformWidget: TraverseWidgetContentWithModelFunction
166
- transformSlice: TraverseSliceContentWithModelFunction
169
+ model: SharedSliceVariationContentModel
170
+ transformWidget?: TraverseWidgetContentWithModelFunction
171
+ transformSlice?: TraverseSliceContentWithModelFunction
167
172
  }
168
173
 
169
174
  export function traverseSharedSliceContentWithModel(
@@ -173,12 +178,13 @@ export function traverseSharedSliceContentWithModel(
173
178
  content: SharedSliceItemContent | undefined,
174
179
  config: TraverseSharedSliceContentWithModelConfig,
175
180
  ): SharedSliceItemContent | undefined {
176
- const { transformWidget, transformSlice } = config
177
-
178
181
  if (!content) {
179
182
  return
180
183
  }
181
184
 
185
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
186
+ config
187
+
182
188
  const traversedPrimary: SharedSliceContent["primary"] = {}
183
189
  for (const [key, model] of Object.entries(config.model.fields.primary ?? {})) {
184
190
  const traversedContent = traverseWidgetContentWithModel(
@@ -217,8 +223,8 @@ export function traverseSharedSliceContentWithModel(
217
223
 
218
224
  type TraverseCompositeSliceContentWithModelConfig = {
219
225
  model: CompositeSliceModel
220
- transformWidget: TraverseWidgetContentWithModelFunction
221
- transformSlice: TraverseSliceContentWithModelFunction
226
+ transformWidget?: TraverseWidgetContentWithModelFunction
227
+ transformSlice?: TraverseSliceContentWithModelFunction
222
228
  }
223
229
 
224
230
  export function traverseCompositeSliceContentWithModel(
@@ -228,12 +234,13 @@ export function traverseCompositeSliceContentWithModel(
228
234
  content: CompositeSliceItemContent | undefined,
229
235
  config: TraverseCompositeSliceContentWithModelConfig,
230
236
  ): CompositeSliceItemContent | undefined {
231
- const { transformWidget, transformSlice } = config
232
-
233
237
  if (!content) {
234
238
  return
235
239
  }
236
240
 
241
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =
242
+ config
243
+
237
244
  const traversedPrimary: CompositeSliceContent["nonRepeat"] = {}
238
245
  for (const [key, model] of Object.entries(config.model?.["non-repeat"] ?? {})) {
239
246
  const traversedContent = traverseWidgetContentWithModel(
@@ -269,8 +276,8 @@ export function traverseCompositeSliceContentWithModel(
269
276
 
270
277
  type TraverseLegacySliceContentWithModelConfig = {
271
278
  model: LegacySliceModel
272
- transformWidget: TraverseWidgetContentWithModelFunction
273
- transformSlice: TraverseSliceContentWithModelFunction
279
+ transformWidget?: TraverseWidgetContentWithModelFunction
280
+ transformSlice?: TraverseSliceContentWithModelFunction
274
281
  }
275
282
 
276
283
  export function traverseLegacySliceContentWithModel(
@@ -280,12 +287,16 @@ export function traverseLegacySliceContentWithModel(
280
287
  content: LegacySliceItemContent | undefined,
281
288
  config: TraverseLegacySliceContentWithModelConfig,
282
289
  ): LegacySliceItemContent | undefined {
283
- const { model, transformWidget, transformSlice } = config
284
-
285
290
  if (!content) {
286
291
  return
287
292
  }
288
293
 
294
+ const {
295
+ model,
296
+ transformWidget = (args) => args.content,
297
+ transformSlice = (args) => args.content,
298
+ } = config
299
+
289
300
  const traversedContent = traverseWidgetContentWithModel(path, key, apiID, content.widget, {
290
301
  model,
291
302
  transformWidget,
@@ -503,15 +514,12 @@ export function traverseTableContentWithModel(
503
514
  }
504
515
 
505
516
  // Internals
506
-
507
- type SliceModel = SharedSliceVariationModel | CompositeSliceModel | LegacySliceModel
508
-
509
517
  export type TraverseSliceContentWithModelFunction = <TContent extends SliceItemContent>(args: {
510
518
  path: contentPath.Path
511
519
  key: string
512
520
  apiID: string
513
521
  content?: TContent
514
- model: SliceModel
522
+ model: SliceContentModel
515
523
  }) => TContent | undefined
516
524
 
517
525
  export type TraverseWidgetContentWithModelFunction<
package/src/index.ts CHANGED
@@ -27,7 +27,7 @@ export type { IntegrationFieldContent } from "./content/integrationField"
27
27
  export type { LinkContent } from "./content/link"
28
28
  export type { NestableContent } from "./content/nestable"
29
29
  export type { RepeatableContent } from "./content/repeatable"
30
- export type { RichTextContent } from "./content/richText"
30
+ export type { RichTextContent, RichTextContentBlock, RichTextContentSpan } from "./content/richText"
31
31
  export type { SeparatorContent } from "./content/separator"
32
32
  export type {
33
33
  LegacySliceContent,
@@ -35,7 +35,13 @@ export type {
35
35
  SharedSliceContent,
36
36
  SliceContent,
37
37
  } from "./content/slice"
38
- export type { SliceItemContent, SlicesContent } from "./content/slices"
38
+ export type {
39
+ LegacySliceItemContent,
40
+ CompositeSliceItemContent,
41
+ SharedSliceItemContent,
42
+ SliceItemContent,
43
+ SlicesContent,
44
+ } from "./content/slices"
39
45
  export type { TableContent } from "./content/table"
40
46
  export type { UIDContent } from "./content/uid"
41
47
  export type { WidgetContent } from "./content/widget"
@@ -63,13 +69,15 @@ export type {
63
69
  CompositeSliceModel,
64
70
  SharedSliceModel,
65
71
  SharedSliceRefModel,
66
- SharedSliceVariationModel,
72
+ SharedSliceVariationContentModel as SharedSliceVariationModel,
67
73
  StaticSliceModel,
68
74
  DynamicSliceModel,
75
+ SliceContentModel,
69
76
  SliceModelType,
70
77
  } from "./model/slice"
71
78
  export type { DynamicSlicesModel, StaticSlicesModel } from "./model/slices"
72
79
  export type { TableModel } from "./model/table"
80
+ export { TableCellModelNodeTypes } from "./model/table"
73
81
  export type { TextModel } from "./model/text"
74
82
  export type { TimestampModel } from "./model/timestamp"
75
83
  export type { UIDModel } from "./model/uid"