@prismicio/types-internal 3.17.0 → 4.0.0-canary.65d3262

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 (758) hide show
  1. package/README.md +41 -25
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/common/asset.d.ts +22 -0
  4. package/dist/common/asset.d.ts.map +1 -0
  5. package/dist/common/asset.js +21 -0
  6. package/dist/common/asset.js.map +1 -0
  7. package/dist/common/embed.d.ts +21 -0
  8. package/dist/common/embed.d.ts.map +1 -0
  9. package/dist/common/embed.js +20 -0
  10. package/dist/common/embed.js.map +1 -0
  11. package/dist/common/hexaColorCode.d.ts +8 -0
  12. package/dist/common/hexaColorCode.d.ts.map +1 -0
  13. package/dist/common/hexaColorCode.js +8 -0
  14. package/dist/common/hexaColorCode.js.map +1 -0
  15. package/dist/common/nonEmptyString.d.ts +8 -0
  16. package/dist/common/nonEmptyString.d.ts.map +1 -0
  17. package/dist/common/nonEmptyString.js +7 -0
  18. package/dist/common/nonEmptyString.js.map +1 -0
  19. package/dist/common/widgetKey.d.ts +8 -0
  20. package/dist/common/widgetKey.d.ts.map +1 -0
  21. package/dist/common/widgetKey.js +8 -0
  22. package/dist/common/widgetKey.js.map +1 -0
  23. package/dist/content/boolean.d.ts +11 -0
  24. package/dist/content/boolean.d.ts.map +1 -0
  25. package/dist/content/boolean.js +11 -0
  26. package/dist/content/boolean.js.map +1 -0
  27. package/dist/content/codec/boolean.js +31 -0
  28. package/dist/content/codec/boolean.js.map +1 -0
  29. package/dist/content/codec/document.js +49 -0
  30. package/dist/content/codec/document.js.map +1 -0
  31. package/dist/content/codec/embed.js +42 -0
  32. package/dist/content/codec/embed.js.map +1 -0
  33. package/dist/content/codec/empty.js +35 -0
  34. package/dist/content/codec/empty.js.map +1 -0
  35. package/dist/content/codec/field.js +41 -0
  36. package/dist/content/codec/field.js.map +1 -0
  37. package/dist/content/codec/geopoint.js +32 -0
  38. package/dist/content/codec/geopoint.js.map +1 -0
  39. package/dist/content/codec/group.js +127 -0
  40. package/dist/content/codec/group.js.map +1 -0
  41. package/dist/content/codec/image.js +44 -0
  42. package/dist/content/codec/image.js.map +1 -0
  43. package/dist/content/codec/integrationField.js +31 -0
  44. package/dist/content/codec/integrationField.js.map +1 -0
  45. package/dist/content/codec/legacyContentCtx.d.ts +50 -0
  46. package/dist/content/codec/legacyContentCtx.d.ts.map +1 -0
  47. package/dist/content/codec/legacyContentCtx.js +68 -0
  48. package/dist/content/codec/legacyContentCtx.js.map +1 -0
  49. package/dist/content/codec/link.js +93 -0
  50. package/dist/content/codec/link.js.map +1 -0
  51. package/dist/content/codec/nestable.js +91 -0
  52. package/dist/content/codec/nestable.js.map +1 -0
  53. package/dist/content/codec/repeatable.js +56 -0
  54. package/dist/content/codec/repeatable.js.map +1 -0
  55. package/dist/content/codec/richText.js +87 -0
  56. package/dist/content/codec/richText.js.map +1 -0
  57. package/dist/content/codec/separator.js +26 -0
  58. package/dist/content/codec/separator.js.map +1 -0
  59. package/dist/content/codec/slice.js +220 -0
  60. package/dist/content/codec/slice.js.map +1 -0
  61. package/dist/content/codec/slices.js +106 -0
  62. package/dist/content/codec/slices.js.map +1 -0
  63. package/dist/content/codec/table.js +56 -0
  64. package/dist/content/codec/table.js.map +1 -0
  65. package/dist/content/codec/uid.js +31 -0
  66. package/dist/content/codec/uid.js.map +1 -0
  67. package/dist/content/codec/widget.js +39 -0
  68. package/dist/content/codec/widget.js.map +1 -0
  69. package/dist/content/document.d.ts +9 -0
  70. package/dist/content/document.d.ts.map +1 -0
  71. package/dist/content/document.js +9 -0
  72. package/dist/content/document.js.map +1 -0
  73. package/dist/content/embed.d.ts +24 -0
  74. package/dist/content/embed.d.ts.map +1 -0
  75. package/dist/content/embed.js +12 -0
  76. package/dist/content/embed.js.map +1 -0
  77. package/dist/content/empty.d.ts +11 -0
  78. package/dist/content/empty.d.ts.map +1 -0
  79. package/dist/content/empty.js +11 -0
  80. package/dist/content/empty.js.map +1 -0
  81. package/dist/content/field.d.ts +49 -0
  82. package/dist/content/field.d.ts.map +1 -0
  83. package/dist/content/field.js +52 -0
  84. package/dist/content/field.js.map +1 -0
  85. package/dist/content/geopoint.d.ts +14 -0
  86. package/dist/content/geopoint.d.ts.map +1 -0
  87. package/dist/content/geopoint.js +9 -0
  88. package/dist/content/geopoint.js.map +1 -0
  89. package/dist/content/group.d.ts +19 -0
  90. package/dist/content/group.d.ts.map +1 -0
  91. package/dist/content/group.js +19 -0
  92. package/dist/content/group.js.map +1 -0
  93. package/dist/content/image.d.ts +52 -0
  94. package/dist/content/image.d.ts.map +1 -0
  95. package/dist/content/image.js +10 -0
  96. package/dist/content/image.js.map +1 -0
  97. package/dist/content/integrationField.d.ts +11 -0
  98. package/dist/content/integrationField.d.ts.map +1 -0
  99. package/dist/content/integrationField.js +11 -0
  100. package/dist/content/integrationField.js.map +1 -0
  101. package/dist/content/legacy/boolean.d.ts +1 -0
  102. package/dist/content/legacy/boolean.js +7 -0
  103. package/dist/content/legacy/boolean.js.map +1 -0
  104. package/dist/content/legacy/document.d.ts +8 -0
  105. package/dist/content/legacy/document.d.ts.map +1 -0
  106. package/dist/content/legacy/document.js +15 -0
  107. package/dist/content/legacy/document.js.map +1 -0
  108. package/dist/content/legacy/embed.d.ts +1 -0
  109. package/dist/content/legacy/embed.js +23 -0
  110. package/dist/content/legacy/embed.js.map +1 -0
  111. package/dist/content/legacy/empty.d.ts +1 -0
  112. package/dist/content/legacy/empty.js +7 -0
  113. package/dist/content/legacy/empty.js.map +1 -0
  114. package/dist/content/legacy/field.d.ts +1 -0
  115. package/dist/content/legacy/field.js +7 -0
  116. package/dist/content/legacy/field.js.map +1 -0
  117. package/dist/content/legacy/geopoint.d.ts +1 -0
  118. package/dist/content/legacy/geopoint.js +10 -0
  119. package/dist/content/legacy/geopoint.js.map +1 -0
  120. package/dist/content/legacy/group.d.ts +9 -0
  121. package/dist/content/legacy/group.d.ts.map +1 -0
  122. package/dist/content/legacy/group.js +10 -0
  123. package/dist/content/legacy/group.js.map +1 -0
  124. package/dist/content/legacy/image.d.ts +1 -0
  125. package/dist/content/legacy/image.js +33 -0
  126. package/dist/content/legacy/image.js.map +1 -0
  127. package/dist/content/legacy/integrationField.d.ts +1 -0
  128. package/dist/content/legacy/integrationField.js +7 -0
  129. package/dist/content/legacy/integrationField.js.map +1 -0
  130. package/dist/content/legacy/link.d.ts +41 -0
  131. package/dist/content/legacy/link.d.ts.map +1 -0
  132. package/dist/content/legacy/link.js +88 -0
  133. package/dist/content/legacy/link.js.map +1 -0
  134. package/dist/content/legacy/nestable.d.ts +1 -0
  135. package/dist/content/legacy/nestable.js +32 -0
  136. package/dist/content/legacy/nestable.js.map +1 -0
  137. package/dist/content/legacy/repeatable.d.ts +1 -0
  138. package/dist/content/legacy/repeatable.js +7 -0
  139. package/dist/content/legacy/repeatable.js.map +1 -0
  140. package/dist/content/legacy/richText.d.ts +109 -0
  141. package/dist/content/legacy/richText.d.ts.map +1 -0
  142. package/dist/content/legacy/richText.js +100 -0
  143. package/dist/content/legacy/richText.js.map +1 -0
  144. package/dist/content/legacy/separator.d.ts +1 -0
  145. package/dist/content/legacy/separator.js +7 -0
  146. package/dist/content/legacy/separator.js.map +1 -0
  147. package/dist/content/legacy/slice.js +22 -0
  148. package/dist/content/legacy/slice.js.map +1 -0
  149. package/dist/content/legacy/slices.js +13 -0
  150. package/dist/content/legacy/slices.js.map +1 -0
  151. package/dist/content/legacy/table.d.ts +1 -0
  152. package/dist/content/legacy/table.js +19 -0
  153. package/dist/content/legacy/table.js.map +1 -0
  154. package/dist/content/legacy/uid.js +7 -0
  155. package/dist/content/legacy/uid.js.map +1 -0
  156. package/dist/content/link.d.ts +163 -0
  157. package/dist/content/link.d.ts.map +1 -0
  158. package/dist/content/link.js +50 -0
  159. package/dist/content/link.js.map +1 -0
  160. package/dist/content/nestable.d.ts +19 -0
  161. package/dist/content/nestable.d.ts.map +1 -0
  162. package/dist/content/nestable.js +56 -0
  163. package/dist/content/nestable.js.map +1 -0
  164. package/dist/content/repeatable.d.ts +97 -0
  165. package/dist/content/repeatable.d.ts.map +1 -0
  166. package/dist/content/repeatable.js +17 -0
  167. package/dist/content/repeatable.js.map +1 -0
  168. package/dist/content/richText.d.ts +91 -0
  169. package/dist/content/richText.d.ts.map +1 -0
  170. package/dist/content/richText.js +24 -0
  171. package/dist/content/richText.js.map +1 -0
  172. package/dist/content/separator.d.ts +10 -0
  173. package/dist/content/separator.d.ts.map +1 -0
  174. package/dist/content/separator.js +8 -0
  175. package/dist/content/separator.js.map +1 -0
  176. package/dist/content/slice.d.ts +24 -0
  177. package/dist/content/slice.d.ts.map +1 -0
  178. package/dist/content/slice.js +27 -0
  179. package/dist/content/slice.js.map +1 -0
  180. package/dist/content/slices.d.ts +56 -0
  181. package/dist/content/slices.d.ts.map +1 -0
  182. package/dist/content/slices.js +24 -0
  183. package/dist/content/slices.js.map +1 -0
  184. package/dist/content/table.d.ts +21 -0
  185. package/dist/content/table.d.ts.map +1 -0
  186. package/dist/content/table.js +13 -0
  187. package/dist/content/table.js.map +1 -0
  188. package/dist/content/uid.d.ts +11 -0
  189. package/dist/content/uid.d.ts.map +1 -0
  190. package/dist/content/uid.js +11 -0
  191. package/dist/content/uid.js.map +1 -0
  192. package/dist/content/widget.d.ts +11 -0
  193. package/dist/content/widget.d.ts.map +1 -0
  194. package/dist/content/widget.js +16 -0
  195. package/dist/content/widget.js.map +1 -0
  196. package/dist/helpers/contentPath.d.ts +15 -0
  197. package/dist/helpers/contentPath.d.ts.map +1 -0
  198. package/dist/helpers/contentPath.js +30 -0
  199. package/dist/helpers/contentPath.js.map +1 -0
  200. package/dist/helpers/customTypeModel.d.ts +14 -0
  201. package/dist/helpers/customTypeModel.d.ts.map +1 -0
  202. package/dist/helpers/customTypeModel.js +55 -0
  203. package/dist/helpers/customTypeModel.js.map +1 -0
  204. package/dist/helpers/documentContent.d.ts +20 -0
  205. package/dist/helpers/documentContent.d.ts.map +1 -0
  206. package/dist/helpers/documentContent.js +64 -0
  207. package/dist/helpers/documentContent.js.map +1 -0
  208. package/dist/helpers/sliceContent.d.ts +12 -0
  209. package/dist/helpers/sliceContent.d.ts.map +1 -0
  210. package/dist/helpers/sliceContent.js +60 -0
  211. package/dist/helpers/sliceContent.js.map +1 -0
  212. package/dist/helpers/traverseContent.d.ts +84 -0
  213. package/dist/helpers/traverseContent.d.ts.map +1 -0
  214. package/dist/helpers/traverseContent.js +374 -0
  215. package/dist/helpers/traverseContent.js.map +1 -0
  216. package/dist/helpers/traverseContentWithModel.d.ts +84 -0
  217. package/dist/helpers/traverseContentWithModel.d.ts.map +1 -0
  218. package/dist/helpers/traverseContentWithModel.js +388 -0
  219. package/dist/helpers/traverseContentWithModel.js.map +1 -0
  220. package/dist/index.d.ts +56 -0
  221. package/dist/index.js +9 -0
  222. package/dist/io-ts.d.ts +4363 -0
  223. package/dist/io-ts.d.ts.map +1 -0
  224. package/dist/io-ts.js +220 -0
  225. package/dist/io-ts.js.map +1 -0
  226. package/dist/model/boolean.d.ts +16 -0
  227. package/dist/model/boolean.d.ts.map +1 -0
  228. package/dist/model/boolean.js +16 -0
  229. package/dist/model/boolean.js.map +1 -0
  230. package/dist/model/color.d.ts +15 -0
  231. package/dist/model/color.d.ts.map +1 -0
  232. package/dist/model/color.js +15 -0
  233. package/dist/model/color.js.map +1 -0
  234. package/dist/model/customType.d.ts +31 -0
  235. package/dist/model/customType.d.ts.map +1 -0
  236. package/dist/model/customType.js +18 -0
  237. package/dist/model/customType.js.map +1 -0
  238. package/dist/model/date.d.ts +16 -0
  239. package/dist/model/date.d.ts.map +1 -0
  240. package/dist/model/date.js +16 -0
  241. package/dist/model/date.js.map +1 -0
  242. package/dist/model/embed.d.ts +16 -0
  243. package/dist/model/embed.d.ts.map +1 -0
  244. package/dist/model/embed.js +16 -0
  245. package/dist/model/embed.js.map +1 -0
  246. package/dist/model/geopoint.d.ts +14 -0
  247. package/dist/model/geopoint.d.ts.map +1 -0
  248. package/dist/model/geopoint.js +12 -0
  249. package/dist/model/geopoint.js.map +1 -0
  250. package/dist/model/group.d.ts +567 -0
  251. package/dist/model/group.d.ts.map +1 -0
  252. package/dist/model/group.js +23 -0
  253. package/dist/model/group.js.map +1 -0
  254. package/dist/model/image.d.ts +24 -0
  255. package/dist/model/image.d.ts.map +1 -0
  256. package/dist/model/image.js +41 -0
  257. package/dist/model/image.js.map +1 -0
  258. package/dist/model/integrationField.d.ts +16 -0
  259. package/dist/model/integrationField.d.ts.map +1 -0
  260. package/dist/model/integrationField.js +16 -0
  261. package/dist/model/integrationField.js.map +1 -0
  262. package/dist/model/link.d.ts +48 -0
  263. package/dist/model/link.d.ts.map +1 -0
  264. package/dist/model/link.js +94 -0
  265. package/dist/model/link.js.map +1 -0
  266. package/dist/model/nestable.d.ts +23 -0
  267. package/dist/model/nestable.d.ts.map +1 -0
  268. package/dist/model/nestable.js +40 -0
  269. package/dist/model/nestable.js.map +1 -0
  270. package/dist/model/number.d.ts +18 -0
  271. package/dist/model/number.d.ts.map +1 -0
  272. package/dist/model/number.js +19 -0
  273. package/dist/model/number.js.map +1 -0
  274. package/dist/model/range.d.ts +18 -0
  275. package/dist/model/range.d.ts.map +1 -0
  276. package/dist/model/range.js +19 -0
  277. package/dist/model/range.js.map +1 -0
  278. package/dist/model/richText.d.ts +24 -0
  279. package/dist/model/richText.d.ts.map +1 -0
  280. package/dist/model/richText.js +73 -0
  281. package/dist/model/richText.js.map +1 -0
  282. package/dist/model/section.d.ts +11 -0
  283. package/dist/model/section.d.ts.map +1 -0
  284. package/dist/model/section.js +10 -0
  285. package/dist/model/section.js.map +1 -0
  286. package/dist/model/select.d.ts +17 -0
  287. package/dist/model/select.d.ts.map +1 -0
  288. package/dist/model/select.js +22 -0
  289. package/dist/model/select.js.map +1 -0
  290. package/dist/model/separator.d.ts +13 -0
  291. package/dist/model/separator.d.ts.map +1 -0
  292. package/dist/model/separator.js +11 -0
  293. package/dist/model/separator.js.map +1 -0
  294. package/dist/model/slice.d.ts +1476 -0
  295. package/dist/model/slice.d.ts.map +1 -0
  296. package/dist/model/slice.js +68 -0
  297. package/dist/model/slice.js.map +1 -0
  298. package/dist/model/slices.d.ts +33 -0
  299. package/dist/model/slices.d.ts.map +1 -0
  300. package/dist/model/slices.js +29 -0
  301. package/dist/model/slices.js.map +1 -0
  302. package/dist/model/table.d.ts +14 -0
  303. package/dist/model/table.d.ts.map +1 -0
  304. package/dist/model/table.js +22 -0
  305. package/dist/model/table.js.map +1 -0
  306. package/dist/model/text.d.ts +16 -0
  307. package/dist/model/text.d.ts.map +1 -0
  308. package/dist/model/text.js +16 -0
  309. package/dist/model/text.js.map +1 -0
  310. package/dist/model/timestamp.d.ts +16 -0
  311. package/dist/model/timestamp.d.ts.map +1 -0
  312. package/dist/model/timestamp.js +16 -0
  313. package/dist/model/timestamp.js.map +1 -0
  314. package/dist/model/uid.d.ts +16 -0
  315. package/dist/model/uid.d.ts.map +1 -0
  316. package/dist/model/uid.js +16 -0
  317. package/dist/model/uid.js.map +1 -0
  318. package/dist/model/widget.d.ts +60 -0
  319. package/dist/model/widget.d.ts.map +1 -0
  320. package/dist/model/widget.js +47 -0
  321. package/dist/model/widget.js.map +1 -0
  322. package/dist/zod4.d.ts +2321 -0
  323. package/dist/zod4.d.ts.map +1 -0
  324. package/dist/zod4.js +132 -0
  325. package/dist/zod4.js.map +1 -0
  326. package/package.json +55 -58
  327. package/src/common/asset.ts +29 -0
  328. package/src/common/embed.ts +27 -0
  329. package/src/common/hexaColorCode.ts +11 -0
  330. package/src/common/nonEmptyString.ts +9 -0
  331. package/src/common/widgetKey.ts +11 -0
  332. package/src/content/boolean.ts +23 -0
  333. package/src/content/codec/boolean.ts +38 -0
  334. package/src/content/codec/document.ts +60 -0
  335. package/src/content/codec/embed.ts +55 -0
  336. package/src/content/codec/empty.ts +49 -0
  337. package/src/content/codec/field.ts +96 -0
  338. package/src/content/codec/geopoint.ts +40 -0
  339. package/src/content/codec/group.ts +163 -0
  340. package/src/content/codec/image.ts +50 -0
  341. package/src/content/codec/integrationField.ts +38 -0
  342. package/src/content/{LegacyContentCtx.ts → codec/legacyContentCtx.ts} +17 -17
  343. package/src/content/codec/link.ts +103 -0
  344. package/src/content/codec/nestable.ts +146 -0
  345. package/src/content/codec/repeatable.ts +68 -0
  346. package/src/content/codec/richText.ts +117 -0
  347. package/src/content/codec/separator.ts +33 -0
  348. package/src/content/codec/slice.ts +276 -0
  349. package/src/content/codec/slices.ts +130 -0
  350. package/src/content/codec/table.ts +65 -0
  351. package/src/content/codec/uid.ts +36 -0
  352. package/src/content/codec/widget.ts +58 -0
  353. package/src/content/document.ts +8 -0
  354. package/src/content/embed.ts +12 -0
  355. package/src/content/empty.ts +10 -0
  356. package/src/content/field.ts +94 -0
  357. package/src/content/geopoint.ts +11 -0
  358. package/src/content/group.ts +99 -0
  359. package/src/content/image.ts +103 -0
  360. package/src/content/integrationField.ts +10 -0
  361. package/src/content/legacy/boolean.ts +5 -0
  362. package/src/content/legacy/document.ts +25 -0
  363. package/src/content/legacy/embed.ts +23 -0
  364. package/src/content/legacy/empty.ts +10 -0
  365. package/src/content/legacy/field.ts +8 -0
  366. package/src/content/legacy/geopoint.ts +10 -0
  367. package/src/content/legacy/group.ts +23 -0
  368. package/src/content/legacy/image.ts +43 -0
  369. package/src/content/legacy/integrationField.ts +5 -0
  370. package/src/content/legacy/link.ts +194 -0
  371. package/src/content/legacy/nestable.ts +55 -0
  372. package/src/content/legacy/repeatable.ts +7 -0
  373. package/src/content/legacy/richText.ts +198 -0
  374. package/src/content/legacy/separator.ts +6 -0
  375. package/src/content/legacy/slice.ts +38 -0
  376. package/src/content/legacy/slices.ts +17 -0
  377. package/src/content/legacy/table.ts +39 -0
  378. package/src/content/legacy/uid.ts +6 -0
  379. package/src/content/legacy/widget.ts +19 -0
  380. package/src/content/link.ts +154 -0
  381. package/src/content/nestable.ts +126 -0
  382. package/src/content/repeatable.ts +21 -0
  383. package/src/content/richText.ts +54 -0
  384. package/src/content/separator.ts +9 -0
  385. package/src/content/slice.ts +41 -0
  386. package/src/content/slices.ts +57 -0
  387. package/src/content/table.ts +14 -0
  388. package/src/content/uid.ts +10 -0
  389. package/src/content/widget.ts +21 -0
  390. package/src/content/{fields/withDefaultValues.ts → withDefaultValues.ts} +34 -39
  391. package/src/helpers/contentPath.ts +35 -0
  392. package/src/helpers/customTypeModel.ts +69 -0
  393. package/src/helpers/documentContent.ts +108 -0
  394. package/src/helpers/sliceContent.ts +86 -0
  395. package/src/helpers/traverseContent.ts +594 -0
  396. package/src/helpers/traverseContentWithModel.ts +616 -0
  397. package/src/index.ts +123 -0
  398. package/src/io-ts.ts +351 -0
  399. package/src/model/boolean.ts +15 -0
  400. package/src/model/color.ts +14 -0
  401. package/src/model/customType.ts +26 -0
  402. package/src/model/date.ts +15 -0
  403. package/src/model/diff/index.ts +4 -0
  404. package/src/{customtypes/diff/SharedSlice.ts → model/diff/sharedSlice.ts} +16 -18
  405. package/src/model/diff/utils.ts +45 -0
  406. package/src/model/diff/variation.ts +155 -0
  407. package/src/model/diff/widgets.ts +15 -0
  408. package/src/model/embed.ts +15 -0
  409. package/src/model/geopoint.ts +13 -0
  410. package/src/model/group.ts +39 -0
  411. package/src/model/image.ts +54 -0
  412. package/src/model/integrationField.ts +15 -0
  413. package/src/model/link.ts +141 -0
  414. package/src/model/nestable.ts +71 -0
  415. package/src/model/number.ts +26 -0
  416. package/src/model/range.ts +26 -0
  417. package/src/model/richText.ts +106 -0
  418. package/src/model/section.ts +12 -0
  419. package/src/model/select.ts +30 -0
  420. package/src/model/separator.ts +12 -0
  421. package/src/model/slice.ts +133 -0
  422. package/src/model/slices.ts +54 -0
  423. package/src/model/table.ts +29 -0
  424. package/src/model/text.ts +15 -0
  425. package/src/model/timestamp.ts +15 -0
  426. package/src/model/uid.ts +15 -0
  427. package/src/model/widget.ts +63 -0
  428. package/src/zod4.ts +187 -0
  429. package/lib/common/Asset.d.ts +0 -16
  430. package/lib/common/Asset.js +0 -11
  431. package/lib/common/Embed.d.ts +0 -15
  432. package/lib/common/Embed.js +0 -10
  433. package/lib/common/HexaColorCode.d.ts +0 -4
  434. package/lib/common/HexaColorCode.js +0 -7
  435. package/lib/common/UUID.d.ts +0 -6
  436. package/lib/common/UUID.js +0 -8
  437. package/lib/common/WidgetKey.d.ts +0 -3
  438. package/lib/common/WidgetKey.js +0 -8
  439. package/lib/common/index.d.ts +0 -3
  440. package/lib/common/index.js +0 -6
  441. package/lib/content/Document.d.ts +0 -11813
  442. package/lib/content/Document.js +0 -364
  443. package/lib/content/LegacyContentCtx.d.ts +0 -64
  444. package/lib/content/LegacyContentCtx.js +0 -130
  445. package/lib/content/fields/EmptyContent.d.ts +0 -16
  446. package/lib/content/fields/EmptyContent.js +0 -30
  447. package/lib/content/fields/GroupContent.d.ts +0 -53
  448. package/lib/content/fields/GroupContent.js +0 -307
  449. package/lib/content/fields/UIDContent.d.ts +0 -16
  450. package/lib/content/fields/UIDContent.js +0 -25
  451. package/lib/content/fields/WidgetContent.d.ts +0 -11749
  452. package/lib/content/fields/WidgetContent.js +0 -57
  453. package/lib/content/fields/index.d.ts +0 -6
  454. package/lib/content/fields/index.js +0 -9
  455. package/lib/content/fields/nestable/BooleanContent.d.ts +0 -18
  456. package/lib/content/fields/nestable/BooleanContent.js +0 -35
  457. package/lib/content/fields/nestable/EmbedContent.d.ts +0 -78
  458. package/lib/content/fields/nestable/EmbedContent.js +0 -56
  459. package/lib/content/fields/nestable/FieldContent/ColorContent.d.ts +0 -18
  460. package/lib/content/fields/nestable/FieldContent/ColorContent.js +0 -35
  461. package/lib/content/fields/nestable/FieldContent/DateContent.d.ts +0 -18
  462. package/lib/content/fields/nestable/FieldContent/DateContent.js +0 -35
  463. package/lib/content/fields/nestable/FieldContent/NumberContent.d.ts +0 -18
  464. package/lib/content/fields/nestable/FieldContent/NumberContent.js +0 -35
  465. package/lib/content/fields/nestable/FieldContent/RangeContent.d.ts +0 -18
  466. package/lib/content/fields/nestable/FieldContent/RangeContent.js +0 -35
  467. package/lib/content/fields/nestable/FieldContent/SelectContent.d.ts +0 -20
  468. package/lib/content/fields/nestable/FieldContent/SelectContent.js +0 -46
  469. package/lib/content/fields/nestable/FieldContent/TextContent.d.ts +0 -18
  470. package/lib/content/fields/nestable/FieldContent/TextContent.js +0 -35
  471. package/lib/content/fields/nestable/FieldContent/TimestampContent.d.ts +0 -18
  472. package/lib/content/fields/nestable/FieldContent/TimestampContent.js +0 -35
  473. package/lib/content/fields/nestable/FieldContent/common.d.ts +0 -1
  474. package/lib/content/fields/nestable/FieldContent/common.js +0 -4
  475. package/lib/content/fields/nestable/FieldContent/index.d.ts +0 -49
  476. package/lib/content/fields/nestable/FieldContent/index.js +0 -38
  477. package/lib/content/fields/nestable/GeoPointContent.d.ts +0 -33
  478. package/lib/content/fields/nestable/GeoPointContent.js +0 -31
  479. package/lib/content/fields/nestable/ImageContent.d.ts +0 -252
  480. package/lib/content/fields/nestable/ImageContent.js +0 -122
  481. package/lib/content/fields/nestable/IntegrationFieldContent.d.ts +0 -16
  482. package/lib/content/fields/nestable/IntegrationFieldContent.js +0 -28
  483. package/lib/content/fields/nestable/LinkContent.d.ts +0 -919
  484. package/lib/content/fields/nestable/LinkContent.js +0 -399
  485. package/lib/content/fields/nestable/NestableContent.d.ts +0 -1953
  486. package/lib/content/fields/nestable/NestableContent.js +0 -167
  487. package/lib/content/fields/nestable/RepeatableContent.d.ts +0 -182
  488. package/lib/content/fields/nestable/RepeatableContent.js +0 -146
  489. package/lib/content/fields/nestable/RichTextContent/Blocks.d.ts +0 -1261
  490. package/lib/content/fields/nestable/RichTextContent/Blocks.js +0 -170
  491. package/lib/content/fields/nestable/RichTextContent/index.d.ts +0 -1004
  492. package/lib/content/fields/nestable/RichTextContent/index.js +0 -28
  493. package/lib/content/fields/nestable/SeparatorContent.d.ts +0 -13
  494. package/lib/content/fields/nestable/SeparatorContent.js +0 -22
  495. package/lib/content/fields/nestable/TableContent.d.ts +0 -776
  496. package/lib/content/fields/nestable/TableContent.js +0 -167
  497. package/lib/content/fields/nestable/index.d.ts +0 -12
  498. package/lib/content/fields/nestable/index.js +0 -15
  499. package/lib/content/fields/slices/Slice/CompositeSliceContent.d.ts +0 -3934
  500. package/lib/content/fields/slices/Slice/CompositeSliceContent.js +0 -195
  501. package/lib/content/fields/slices/Slice/RepeatableContent.d.ts +0 -774
  502. package/lib/content/fields/slices/Slice/RepeatableContent.js +0 -21
  503. package/lib/content/fields/slices/Slice/SharedSliceContent.d.ts +0 -3937
  504. package/lib/content/fields/slices/Slice/SharedSliceContent.js +0 -215
  505. package/lib/content/fields/slices/Slice/SimpleSliceContent.d.ts +0 -1962
  506. package/lib/content/fields/slices/Slice/SimpleSliceContent.js +0 -130
  507. package/lib/content/fields/slices/Slice/SlicePrimaryContent.d.ts +0 -1952
  508. package/lib/content/fields/slices/Slice/SlicePrimaryContent.js +0 -30
  509. package/lib/content/fields/slices/Slice/index.d.ts +0 -6810
  510. package/lib/content/fields/slices/Slice/index.js +0 -45
  511. package/lib/content/fields/slices/SliceItem.d.ts +0 -6846
  512. package/lib/content/fields/slices/SliceItem.js +0 -116
  513. package/lib/content/fields/slices/SlicesContent.d.ts +0 -9827
  514. package/lib/content/fields/slices/SlicesContent.js +0 -465
  515. package/lib/content/fields/slices/index.d.ts +0 -3
  516. package/lib/content/fields/slices/index.js +0 -6
  517. package/lib/content/fields/withDefaultValues.d.ts +0 -9
  518. package/lib/content/fields/withDefaultValues.js +0 -79
  519. package/lib/content/helpers.d.ts +0 -9
  520. package/lib/content/helpers.js +0 -22
  521. package/lib/content/index.d.ts +0 -4
  522. package/lib/content/index.js +0 -7
  523. package/lib/content/utils.d.ts +0 -50
  524. package/lib/content/utils.js +0 -35
  525. package/lib/customtypes/CustomType.d.ts +0 -3680
  526. package/lib/customtypes/CustomType.js +0 -184
  527. package/lib/customtypes/Section.d.ts +0 -3635
  528. package/lib/customtypes/Section.js +0 -66
  529. package/lib/customtypes/diff/Changes.d.ts +0 -17
  530. package/lib/customtypes/diff/Changes.js +0 -9
  531. package/lib/customtypes/diff/SharedSlice.d.ts +0 -1624
  532. package/lib/customtypes/diff/SharedSlice.js +0 -55
  533. package/lib/customtypes/diff/Variation.d.ts +0 -1605
  534. package/lib/customtypes/diff/Variation.js +0 -113
  535. package/lib/customtypes/diff/Widgets.d.ts +0 -11
  536. package/lib/customtypes/diff/Widgets.js +0 -2
  537. package/lib/customtypes/diff/index.d.ts +0 -4
  538. package/lib/customtypes/diff/index.js +0 -7
  539. package/lib/customtypes/index.d.ts +0 -4
  540. package/lib/customtypes/index.js +0 -7
  541. package/lib/customtypes/widgets/Group.d.ts +0 -1352
  542. package/lib/customtypes/widgets/Group.js +0 -92
  543. package/lib/customtypes/widgets/UID.d.ts +0 -19
  544. package/lib/customtypes/widgets/UID.js +0 -21
  545. package/lib/customtypes/widgets/Widget.d.ts +0 -4457
  546. package/lib/customtypes/widgets/Widget.js +0 -49
  547. package/lib/customtypes/widgets/index.d.ts +0 -6
  548. package/lib/customtypes/widgets/index.js +0 -9
  549. package/lib/customtypes/widgets/nestable/BooleanField.d.ts +0 -20
  550. package/lib/customtypes/widgets/nestable/BooleanField.js +0 -21
  551. package/lib/customtypes/widgets/nestable/Color.d.ts +0 -17
  552. package/lib/customtypes/widgets/nestable/Color.js +0 -20
  553. package/lib/customtypes/widgets/nestable/Date.d.ts +0 -19
  554. package/lib/customtypes/widgets/nestable/Date.js +0 -21
  555. package/lib/customtypes/widgets/nestable/Embed.d.ts +0 -19
  556. package/lib/customtypes/widgets/nestable/Embed.js +0 -21
  557. package/lib/customtypes/widgets/nestable/GeoPoint.d.ts +0 -15
  558. package/lib/customtypes/widgets/nestable/GeoPoint.js +0 -19
  559. package/lib/customtypes/widgets/nestable/Image.d.ts +0 -44
  560. package/lib/customtypes/widgets/nestable/Image.js +0 -29
  561. package/lib/customtypes/widgets/nestable/IntegrationField.d.ts +0 -19
  562. package/lib/customtypes/widgets/nestable/IntegrationField.js +0 -21
  563. package/lib/customtypes/widgets/nestable/Link.d.ts +0 -196
  564. package/lib/customtypes/widgets/nestable/Link.js +0 -167
  565. package/lib/customtypes/widgets/nestable/NestableWidget.d.ts +0 -217
  566. package/lib/customtypes/widgets/nestable/NestableWidget.js +0 -39
  567. package/lib/customtypes/widgets/nestable/Number.d.ts +0 -23
  568. package/lib/customtypes/widgets/nestable/Number.js +0 -24
  569. package/lib/customtypes/widgets/nestable/Range.d.ts +0 -23
  570. package/lib/customtypes/widgets/nestable/Range.js +0 -24
  571. package/lib/customtypes/widgets/nestable/RichText.d.ts +0 -73
  572. package/lib/customtypes/widgets/nestable/RichText.js +0 -131
  573. package/lib/customtypes/widgets/nestable/Select.d.ts +0 -21
  574. package/lib/customtypes/widgets/nestable/Select.js +0 -22
  575. package/lib/customtypes/widgets/nestable/Separator.d.ts +0 -14
  576. package/lib/customtypes/widgets/nestable/Separator.js +0 -18
  577. package/lib/customtypes/widgets/nestable/Table.d.ts +0 -21
  578. package/lib/customtypes/widgets/nestable/Table.js +0 -30
  579. package/lib/customtypes/widgets/nestable/Text.d.ts +0 -19
  580. package/lib/customtypes/widgets/nestable/Text.js +0 -21
  581. package/lib/customtypes/widgets/nestable/Timestamp.d.ts +0 -19
  582. package/lib/customtypes/widgets/nestable/Timestamp.js +0 -21
  583. package/lib/customtypes/widgets/nestable/index.d.ts +0 -17
  584. package/lib/customtypes/widgets/nestable/index.js +0 -20
  585. package/lib/customtypes/widgets/shared/ImageConstraint.d.ts +0 -7
  586. package/lib/customtypes/widgets/shared/ImageConstraint.js +0 -31
  587. package/lib/customtypes/widgets/shared/index.d.ts +0 -1
  588. package/lib/customtypes/widgets/shared/index.js +0 -8
  589. package/lib/customtypes/widgets/slices/CompositeSlice.d.ts +0 -455
  590. package/lib/customtypes/widgets/slices/CompositeSlice.js +0 -63
  591. package/lib/customtypes/widgets/slices/LegacySlice.d.ts +0 -442
  592. package/lib/customtypes/widgets/slices/LegacySlice.js +0 -12
  593. package/lib/customtypes/widgets/slices/SharedSlice.d.ts +0 -1807
  594. package/lib/customtypes/widgets/slices/SharedSlice.js +0 -118
  595. package/lib/customtypes/widgets/slices/SharedSliceRef.d.ts +0 -5
  596. package/lib/customtypes/widgets/slices/SharedSliceRef.js +0 -9
  597. package/lib/customtypes/widgets/slices/Slice.d.ts +0 -6
  598. package/lib/customtypes/widgets/slices/Slice.js +0 -2
  599. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.d.ts +0 -1259
  600. package/lib/customtypes/widgets/slices/SlicePrimaryWidget.js +0 -10
  601. package/lib/customtypes/widgets/slices/Slices.d.ts +0 -5917
  602. package/lib/customtypes/widgets/slices/Slices.js +0 -146
  603. package/lib/customtypes/widgets/slices/SlicesTypes.d.ts +0 -6
  604. package/lib/customtypes/widgets/slices/SlicesTypes.js +0 -11
  605. package/lib/customtypes/widgets/slices/index.d.ts +0 -8
  606. package/lib/customtypes/widgets/slices/index.js +0 -11
  607. package/lib/utils/Arrays.d.ts +0 -1
  608. package/lib/utils/Arrays.js +0 -13
  609. package/lib/utils/DocumentId.d.ts +0 -2
  610. package/lib/utils/DocumentId.js +0 -7
  611. package/lib/utils/Fields.d.ts +0 -6
  612. package/lib/utils/Fields.js +0 -2
  613. package/lib/utils/Objects.d.ts +0 -8
  614. package/lib/utils/Objects.js +0 -42
  615. package/lib/utils/index.d.ts +0 -4
  616. package/lib/utils/index.js +0 -8
  617. package/lib/validators/BasicTypes.d.ts +0 -10
  618. package/lib/validators/BasicTypes.js +0 -25
  619. package/lib/validators/DateFromString.d.ts +0 -3
  620. package/lib/validators/DateFromString.js +0 -11
  621. package/lib/validators/DateFromStringOrNumber.d.ts +0 -3
  622. package/lib/validators/DateFromStringOrNumber.js +0 -10
  623. package/lib/validators/DateFromTsMs.d.ts +0 -3
  624. package/lib/validators/DateFromTsMs.js +0 -10
  625. package/lib/validators/DefaultOrElse.d.ts +0 -5
  626. package/lib/validators/DefaultOrElse.js +0 -21
  627. package/lib/validators/IntFromNumber.d.ts +0 -5
  628. package/lib/validators/IntFromNumber.js +0 -14
  629. package/lib/validators/IntFromPixels.d.ts +0 -8
  630. package/lib/validators/IntFromPixels.js +0 -24
  631. package/lib/validators/NonEmptyString.d.ts +0 -3
  632. package/lib/validators/NonEmptyString.js +0 -6
  633. package/lib/validators/NonEmptyStringOrNull.d.ts +0 -3
  634. package/lib/validators/NonEmptyStringOrNull.js +0 -15
  635. package/lib/validators/NumberOrNull.d.ts +0 -3
  636. package/lib/validators/NumberOrNull.js +0 -6
  637. package/lib/validators/NumberRange.d.ts +0 -32
  638. package/lib/validators/NumberRange.js +0 -40
  639. package/lib/validators/StringFromBoolean.d.ts +0 -5
  640. package/lib/validators/StringFromBoolean.js +0 -10
  641. package/lib/validators/StringFromNumber.d.ts +0 -5
  642. package/lib/validators/StringFromNumber.js +0 -10
  643. package/lib/validators/StringOrNull.d.ts +0 -3
  644. package/lib/validators/StringOrNull.js +0 -6
  645. package/lib/validators/TrimmedString.d.ts +0 -5
  646. package/lib/validators/TrimmedString.js +0 -23
  647. package/lib/validators/function.d.ts +0 -34
  648. package/lib/validators/function.js +0 -100
  649. package/lib/validators/index.d.ts +0 -15
  650. package/lib/validators/index.js +0 -31
  651. package/src/common/Asset.ts +0 -25
  652. package/src/common/Embed.ts +0 -22
  653. package/src/common/HexaColorCode.ts +0 -11
  654. package/src/common/UUID.ts +0 -19
  655. package/src/common/WidgetKey.ts +0 -13
  656. package/src/common/index.ts +0 -3
  657. package/src/content/Document.ts +0 -539
  658. package/src/content/fields/EmptyContent.ts +0 -45
  659. package/src/content/fields/GroupContent.ts +0 -466
  660. package/src/content/fields/UIDContent.ts +0 -42
  661. package/src/content/fields/WidgetContent.ts +0 -76
  662. package/src/content/fields/index.ts +0 -6
  663. package/src/content/fields/nestable/BooleanContent.ts +0 -52
  664. package/src/content/fields/nestable/EmbedContent.ts +0 -74
  665. package/src/content/fields/nestable/FieldContent/ColorContent.ts +0 -49
  666. package/src/content/fields/nestable/FieldContent/DateContent.ts +0 -49
  667. package/src/content/fields/nestable/FieldContent/NumberContent.ts +0 -49
  668. package/src/content/fields/nestable/FieldContent/RangeContent.ts +0 -49
  669. package/src/content/fields/nestable/FieldContent/SelectContent.ts +0 -60
  670. package/src/content/fields/nestable/FieldContent/TextContent.ts +0 -49
  671. package/src/content/fields/nestable/FieldContent/TimestampContent.ts +0 -49
  672. package/src/content/fields/nestable/FieldContent/common.ts +0 -1
  673. package/src/content/fields/nestable/FieldContent/index.ts +0 -40
  674. package/src/content/fields/nestable/GeoPointContent.ts +0 -48
  675. package/src/content/fields/nestable/ImageContent.ts +0 -196
  676. package/src/content/fields/nestable/IntegrationFieldContent.ts +0 -51
  677. package/src/content/fields/nestable/LinkContent.ts +0 -651
  678. package/src/content/fields/nestable/NestableContent.ts +0 -241
  679. package/src/content/fields/nestable/RepeatableContent.ts +0 -224
  680. package/src/content/fields/nestable/RichTextContent/Blocks.ts +0 -238
  681. package/src/content/fields/nestable/RichTextContent/index.ts +0 -42
  682. package/src/content/fields/nestable/SeparatorContent.ts +0 -34
  683. package/src/content/fields/nestable/TableContent.ts +0 -234
  684. package/src/content/fields/nestable/index.ts +0 -12
  685. package/src/content/fields/slices/Slice/CompositeSliceContent.ts +0 -293
  686. package/src/content/fields/slices/Slice/RepeatableContent.ts +0 -29
  687. package/src/content/fields/slices/Slice/SharedSliceContent.ts +0 -305
  688. package/src/content/fields/slices/Slice/SimpleSliceContent.ts +0 -180
  689. package/src/content/fields/slices/Slice/SlicePrimaryContent.ts +0 -40
  690. package/src/content/fields/slices/Slice/index.ts +0 -52
  691. package/src/content/fields/slices/SliceItem.ts +0 -184
  692. package/src/content/fields/slices/SlicesContent.ts +0 -677
  693. package/src/content/fields/slices/index.ts +0 -3
  694. package/src/content/helpers.ts +0 -25
  695. package/src/content/index.ts +0 -4
  696. package/src/content/utils.ts +0 -145
  697. package/src/customtypes/CustomType.ts +0 -280
  698. package/src/customtypes/Section.ts +0 -98
  699. package/src/customtypes/diff/Variation.ts +0 -167
  700. package/src/customtypes/diff/Widgets.ts +0 -17
  701. package/src/customtypes/diff/index.ts +0 -4
  702. package/src/customtypes/index.ts +0 -4
  703. package/src/customtypes/widgets/Group.ts +0 -120
  704. package/src/customtypes/widgets/UID.ts +0 -27
  705. package/src/customtypes/widgets/Widget.ts +0 -83
  706. package/src/customtypes/widgets/index.ts +0 -6
  707. package/src/customtypes/widgets/nestable/BooleanField.ts +0 -29
  708. package/src/customtypes/widgets/nestable/Color.ts +0 -25
  709. package/src/customtypes/widgets/nestable/Date.ts +0 -27
  710. package/src/customtypes/widgets/nestable/Embed.ts +0 -27
  711. package/src/customtypes/widgets/nestable/GeoPoint.ts +0 -25
  712. package/src/customtypes/widgets/nestable/Image.ts +0 -39
  713. package/src/customtypes/widgets/nestable/IntegrationField.ts +0 -26
  714. package/src/customtypes/widgets/nestable/Link.ts +0 -313
  715. package/src/customtypes/widgets/nestable/NestableWidget.ts +0 -40
  716. package/src/customtypes/widgets/nestable/Number.ts +0 -30
  717. package/src/customtypes/widgets/nestable/Range.ts +0 -30
  718. package/src/customtypes/widgets/nestable/RichText.ts +0 -215
  719. package/src/customtypes/widgets/nestable/Select.ts +0 -34
  720. package/src/customtypes/widgets/nestable/Separator.ts +0 -24
  721. package/src/customtypes/widgets/nestable/Table.ts +0 -38
  722. package/src/customtypes/widgets/nestable/Text.ts +0 -27
  723. package/src/customtypes/widgets/nestable/Timestamp.ts +0 -27
  724. package/src/customtypes/widgets/nestable/index.ts +0 -17
  725. package/src/customtypes/widgets/shared/ImageConstraint.ts +0 -41
  726. package/src/customtypes/widgets/shared/index.ts +0 -1
  727. package/src/customtypes/widgets/slices/CompositeSlice.ts +0 -79
  728. package/src/customtypes/widgets/slices/LegacySlice.ts +0 -15
  729. package/src/customtypes/widgets/slices/SharedSlice.ts +0 -152
  730. package/src/customtypes/widgets/slices/SharedSliceRef.ts +0 -10
  731. package/src/customtypes/widgets/slices/Slice.ts +0 -7
  732. package/src/customtypes/widgets/slices/SlicePrimaryWidget.ts +0 -12
  733. package/src/customtypes/widgets/slices/Slices.ts +0 -184
  734. package/src/customtypes/widgets/slices/SlicesTypes.ts +0 -11
  735. package/src/customtypes/widgets/slices/index.ts +0 -8
  736. package/src/utils/Arrays.ts +0 -12
  737. package/src/utils/DocumentId.ts +0 -8
  738. package/src/utils/Fields.ts +0 -4
  739. package/src/utils/Objects.ts +0 -53
  740. package/src/utils/index.ts +0 -4
  741. package/src/validators/BasicTypes.ts +0 -55
  742. package/src/validators/DateFromString.ts +0 -19
  743. package/src/validators/DateFromStringOrNumber.ts +0 -17
  744. package/src/validators/DateFromTsMs.ts +0 -17
  745. package/src/validators/DefaultOrElse.ts +0 -24
  746. package/src/validators/IntFromNumber.ts +0 -22
  747. package/src/validators/IntFromPixels.ts +0 -32
  748. package/src/validators/NonEmptyString.ts +0 -8
  749. package/src/validators/NonEmptyStringOrNull.ts +0 -22
  750. package/src/validators/NumberOrNull.ts +0 -5
  751. package/src/validators/NumberRange.ts +0 -51
  752. package/src/validators/StringFromBoolean.ts +0 -19
  753. package/src/validators/StringFromNumber.ts +0 -19
  754. package/src/validators/StringOrNull.ts +0 -5
  755. package/src/validators/TrimmedString.ts +0 -33
  756. package/src/validators/function.ts +0 -115
  757. package/src/validators/index.ts +0 -15
  758. /package/src/{customtypes/diff/Changes.ts → model/diff/changes.ts} +0 -0
@@ -0,0 +1,84 @@
1
+ import { LinkModel } from "../model/link.js";
2
+ import { TableModel } from "../model/table.js";
3
+ import { NestableModel } from "../model/nestable.js";
4
+ import { GroupModel, NestedGroupModel } from "../model/group.js";
5
+ import { RepeatableContent } from "../content/repeatable.js";
6
+ import { TableContent } from "../content/table.js";
7
+ import { GroupContent, GroupItemContent } from "../content/group.js";
8
+ import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
9
+ import { WidgetContent } from "../content/widget.js";
10
+ import { DocumentContent } from "../content/document.js";
11
+ import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationContentModel, SliceContentModel } from "../model/slice.js";
12
+ import { StaticSlicesModel } from "../model/slices.js";
13
+ import { StaticWidgetModel } from "../model/widget.js";
14
+ import { StaticCustomTypeModel } from "../model/customType.js";
15
+ import { Path } from "./contentPath.js";
16
+
17
+ //#region src/helpers/traverseContent.d.ts
18
+ type TraverseDocumentContentConfig = {
19
+ model?: StaticCustomTypeModel;
20
+ transformWidget?: TraverseWidgetContentFunction;
21
+ transformSlice?: TraverseSliceContentFunction;
22
+ };
23
+ declare function traverseDocumentContent(document: DocumentContent, config: TraverseDocumentContentConfig): DocumentContent;
24
+ type TraverseSlicesContentConfig = {
25
+ model?: StaticSlicesModel;
26
+ transformWidget?: TraverseWidgetContentFunction;
27
+ transformSlice?: TraverseSliceContentFunction;
28
+ };
29
+ declare function traverseSlicesContent(path: Path, key: string, apiID: string, content: SlicesContent, config: TraverseSlicesContentConfig): SlicesContent | undefined;
30
+ type TraverseSharedSliceContentConfig = {
31
+ model?: SharedSliceVariationContentModel;
32
+ transformWidget?: TraverseWidgetContentFunction;
33
+ transformSlice?: TraverseSliceContentFunction;
34
+ };
35
+ declare function traverseSharedSliceContent(path: Path, key: string, apiID: string, content: SharedSliceItemContent, config: TraverseSharedSliceContentConfig): SharedSliceItemContent | undefined;
36
+ type TraverseCompositeSliceContentConfig = {
37
+ model?: CompositeSliceModel | SharedSliceVariationContentModel;
38
+ transformWidget?: TraverseWidgetContentFunction;
39
+ transformSlice?: TraverseSliceContentFunction;
40
+ };
41
+ declare function traverseCompositeSliceContent(path: Path, key: string, apiID: string, content: CompositeSliceItemContent, config: TraverseCompositeSliceContentConfig): CompositeSliceItemContent | SharedSliceItemContent | undefined;
42
+ type TraverseLegacySliceContentConfig = {
43
+ model?: LegacySliceModel | SharedSliceVariationContentModel;
44
+ transformWidget?: TraverseWidgetContentFunction;
45
+ transformSlice?: TraverseSliceContentFunction;
46
+ };
47
+ declare function traverseLegacySliceContent(path: Path, key: string, apiID: string, content: LegacySliceItemContent, config: TraverseLegacySliceContentConfig): LegacySliceItemContent | SharedSliceItemContent | undefined;
48
+ type TraverseGroupContentConfig = {
49
+ model?: GroupModel;
50
+ transformWidget: TraverseWidgetContentFunction;
51
+ };
52
+ declare function traverseGroupContent(path: Path, key: string, apiID: string, content: GroupContent, config: TraverseGroupContentConfig): GroupContent | undefined;
53
+ type TraverseGroupItemsContentConfig = {
54
+ model?: Record<string, NestedGroupModel | NestableModel>;
55
+ transformWidget: TraverseWidgetContentFunction;
56
+ };
57
+ declare function traverseGroupItemsContent(path: Path, content: GroupItemContent[], config: TraverseGroupItemsContentConfig): GroupItemContent[];
58
+ type TraverseRepeatableContentConfig = {
59
+ model?: LinkModel;
60
+ transformWidget: TraverseWidgetContentFunction;
61
+ };
62
+ declare function traverseRepeatableContent(path: Path, key: string, apiID: string, content: RepeatableContent, config: TraverseRepeatableContentConfig): RepeatableContent | undefined;
63
+ type TraverseTableContentConfig = {
64
+ model?: TableModel;
65
+ transformWidget: TraverseWidgetContentFunction;
66
+ };
67
+ declare function traverseTableContent(path: Path, key: string, apiID: string, content: TableContent, config: TraverseTableContentConfig): TableContent | undefined;
68
+ type TraverseSliceContentFunction = <TContent extends SliceItemContent>(args: {
69
+ path: Path;
70
+ key: string;
71
+ apiID: string;
72
+ content: TContent;
73
+ model?: SliceContentModel;
74
+ }) => TContent | SharedSliceItemContent | undefined;
75
+ type TraverseWidgetContentFunction<TContentTransformMode extends "preserve" | "widen" = "preserve"> = <TContent extends WidgetContent>(args: {
76
+ path: Path;
77
+ key: string;
78
+ apiID: string;
79
+ content: TContent;
80
+ model?: StaticWidgetModel;
81
+ }) => (TContentTransformMode extends "preserve" ? TContent : WidgetContent) | undefined;
82
+ //#endregion
83
+ export { TraverseSliceContentFunction, TraverseWidgetContentFunction, traverseCompositeSliceContent, traverseDocumentContent, traverseGroupContent, traverseGroupItemsContent, traverseLegacySliceContent, traverseRepeatableContent, traverseSharedSliceContent, traverseSlicesContent, traverseTableContent };
84
+ //# sourceMappingURL=traverseContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseContent.d.ts","names":[],"sources":["../../src/helpers/traverseContent.ts"],"mappings":"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"}
@@ -0,0 +1,374 @@
1
+ import { TableCellModel } from "../model/table.js";
2
+ import { append, make, serialize } from "./contentPath.js";
3
+ import { flatten } from "./customTypeModel.js";
4
+ import { isRepeatableContentValue } from "../content/repeatable.js";
5
+ import { RichTextContentType } from "../content/richText.js";
6
+ import "../content/table.js";
7
+ import { isNestableContent } from "../content/nestable.js";
8
+ import "../content/group.js";
9
+ import "../content/slice.js";
10
+ import "../content/slices.js";
11
+ //#region src/helpers/traverseContent.ts
12
+ function traverseDocumentContent(document, config) {
13
+ const { model, transformWidget, transformSlice } = config;
14
+ const flatModel = model ? flatten(model) : {};
15
+ const traversed = {};
16
+ for (const [key, content] of Object.entries(document)) {
17
+ const traversedContent = traverseWidgetContent(make({
18
+ key: config.model?.id,
19
+ type: "CustomType"
20
+ }, {
21
+ key,
22
+ type: "Widget"
23
+ }), key, key, content, {
24
+ model: flatModel[key],
25
+ transformWidget,
26
+ transformSlice
27
+ });
28
+ if (traversedContent) traversed[key] = traversedContent;
29
+ }
30
+ return traversed;
31
+ }
32
+ function traverseSlicesContent(path, key, apiID, content, config) {
33
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
34
+ const traversed = [];
35
+ for (const sliceItemContent of content.value) {
36
+ const sliceModel = config.model?.config?.choices?.[sliceItemContent.name];
37
+ let sliceContentModel;
38
+ if (sliceItemContent.widget.__TYPE__ === "SharedSliceContent" && sliceModel?.type === "SharedSlice") {
39
+ const variationID = sliceItemContent.widget.variation;
40
+ const variationModel = sliceModel.variations.find((variation) => variation.id === variationID);
41
+ if (variationModel) sliceContentModel = {
42
+ type: "SharedSlice",
43
+ sliceName: sliceModel.id,
44
+ variationID: variationModel.id,
45
+ fields: {
46
+ primary: variationModel.primary || {},
47
+ items: variationModel.items || {}
48
+ }
49
+ };
50
+ }
51
+ if (!sliceContentModel) {
52
+ const legacyPath = append(serialize(path), sliceItemContent.name);
53
+ const migratedSliceModel = Object.values(config.model?.config?.choices || {}).find((model) => {
54
+ return model.type === "SharedSlice" && Boolean(model.legacyPaths?.[legacyPath]);
55
+ });
56
+ if (migratedSliceModel) {
57
+ const variation = migratedSliceModel.variations.find((variation) => {
58
+ return variation.id === migratedSliceModel.legacyPaths?.[legacyPath];
59
+ });
60
+ if (variation) sliceContentModel = {
61
+ type: "SharedSlice",
62
+ sliceName: migratedSliceModel.id,
63
+ variationID: variation.id,
64
+ fields: {
65
+ primary: variation.primary || {},
66
+ items: variation.items || {}
67
+ }
68
+ };
69
+ }
70
+ }
71
+ if (!sliceContentModel && sliceModel && sliceModel.type !== "SharedSlice") sliceContentModel = sliceModel;
72
+ let traversedSliceItemContent;
73
+ if (sliceItemContent.widget.__TYPE__ === "SharedSliceContent") {
74
+ const model = sliceContentModel?.type === "SharedSlice" ? sliceContentModel : void 0;
75
+ traversedSliceItemContent = traverseSharedSliceContent(path.concat({
76
+ key: sliceItemContent.key,
77
+ type: "SharedSlice"
78
+ }), sliceItemContent.key, sliceItemContent.name, sliceItemContent, {
79
+ model,
80
+ transformWidget,
81
+ transformSlice
82
+ });
83
+ } else if (sliceItemContent.widget.__TYPE__ === "CompositeSliceContent") {
84
+ const model = sliceContentModel?.type === "Slice" || sliceContentModel?.type === "SharedSlice" ? sliceContentModel : void 0;
85
+ traversedSliceItemContent = traverseCompositeSliceContent(path.concat({
86
+ key: sliceItemContent.key,
87
+ type: "Slice"
88
+ }), sliceItemContent.key, sliceItemContent.name, sliceItemContent, {
89
+ model,
90
+ transformWidget,
91
+ transformSlice
92
+ });
93
+ } else {
94
+ const model = sliceContentModel?.type !== "Slice" ? sliceContentModel : void 0;
95
+ traversedSliceItemContent = traverseLegacySliceContent(path.concat({
96
+ key: sliceItemContent.key,
97
+ type: "LegacySlice"
98
+ }), sliceItemContent.key, sliceItemContent.name, sliceItemContent, {
99
+ model,
100
+ transformWidget,
101
+ transformSlice
102
+ });
103
+ }
104
+ if (traversedSliceItemContent) traversed.push(traversedSliceItemContent);
105
+ }
106
+ return transformWidget({
107
+ path,
108
+ key,
109
+ apiID,
110
+ content: {
111
+ ...content,
112
+ value: traversed
113
+ },
114
+ model: config.model
115
+ });
116
+ }
117
+ function traverseSharedSliceContent(path, key, apiID, content, config) {
118
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
119
+ const traversedPrimary = {};
120
+ for (const [key, fieldContent] of Object.entries(content.widget.primary)) {
121
+ const model = config.model?.fields.primary?.[key];
122
+ const traversedContent = traverseWidgetContent(path.concat({
123
+ key: "primary",
124
+ type: "primary"
125
+ }, {
126
+ key,
127
+ type: "Widget"
128
+ }), key, key, fieldContent, {
129
+ model,
130
+ transformWidget
131
+ });
132
+ if (traversedContent && (isNestableContent(traversedContent) || traversedContent.__TYPE__ === "GroupContentType")) traversedPrimary[key] = traversedContent;
133
+ }
134
+ const traversedItems = traverseGroupItemsContent(path.concat({
135
+ key: "items",
136
+ type: "items"
137
+ }), content.widget.items, {
138
+ model: config.model?.fields.items,
139
+ transformWidget
140
+ });
141
+ return transformSlice({
142
+ path,
143
+ key,
144
+ apiID,
145
+ content: {
146
+ ...content,
147
+ widget: {
148
+ ...content.widget,
149
+ primary: traversedPrimary,
150
+ items: traversedItems
151
+ }
152
+ },
153
+ model: config.model
154
+ });
155
+ }
156
+ function traverseCompositeSliceContent(path, key, apiID, content, config) {
157
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
158
+ const primaryModel = config.model?.type === "SharedSlice" ? config.model?.fields.primary : config.model?.["non-repeat"];
159
+ const traversedPrimary = {};
160
+ for (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {
161
+ const traversedContent = traverseWidgetContent(path.concat({
162
+ key: "non-repeat",
163
+ type: "primary"
164
+ }, {
165
+ key,
166
+ type: "Widget"
167
+ }), key, apiID, fieldContent, {
168
+ model: primaryModel?.[key],
169
+ transformWidget
170
+ });
171
+ if (traversedContent && isNestableContent(traversedContent)) traversedPrimary[key] = traversedContent;
172
+ }
173
+ const itemsModel = config.model?.type === "SharedSlice" ? config.model?.fields.items : config.model?.repeat;
174
+ const traversedItems = traverseGroupItemsContent(path.concat({
175
+ key: "repeat",
176
+ type: "items"
177
+ }), content.widget.repeat, {
178
+ model: itemsModel,
179
+ transformWidget
180
+ });
181
+ return transformSlice({
182
+ path,
183
+ key,
184
+ apiID,
185
+ content: {
186
+ ...content,
187
+ widget: {
188
+ ...content.widget,
189
+ nonRepeat: traversedPrimary,
190
+ repeat: traversedItems
191
+ }
192
+ },
193
+ model: config.model
194
+ });
195
+ }
196
+ function traverseLegacySliceContent(path, key, apiID, content, config) {
197
+ const { model, transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
198
+ let legacySliceModel;
199
+ if (content.widget.__TYPE__ === "GroupContentType") {
200
+ if (model?.type === "Group") legacySliceModel = model;
201
+ else if (model?.type === "SharedSlice") legacySliceModel = {
202
+ type: "Group",
203
+ config: { fields: model.fields.items }
204
+ };
205
+ } else if (model?.type === "SharedSlice") legacySliceModel = model.fields.primary?.[content.name];
206
+ else if (model?.type !== "Group") legacySliceModel = model;
207
+ const traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {
208
+ model: legacySliceModel,
209
+ transformWidget,
210
+ transformSlice
211
+ });
212
+ if (traversedContent && (isNestableContent(traversedContent) || traversedContent.__TYPE__ === "GroupContentType")) return transformSlice({
213
+ path,
214
+ key,
215
+ apiID,
216
+ content: {
217
+ ...content,
218
+ widget: traversedContent
219
+ },
220
+ model
221
+ });
222
+ }
223
+ function traverseGroupContent(path, key, apiID, content, config) {
224
+ const { model, transformWidget } = config;
225
+ const traversed = traverseGroupItemsContent(path, content.value, {
226
+ model: model?.config?.fields,
227
+ transformWidget
228
+ });
229
+ return transformWidget({
230
+ path,
231
+ key,
232
+ apiID,
233
+ content: {
234
+ ...content,
235
+ value: traversed
236
+ },
237
+ model
238
+ });
239
+ }
240
+ function traverseGroupItemsContent(path, content, config) {
241
+ const { transformWidget } = config;
242
+ const traversed = [];
243
+ for (const groupItemContent of content) {
244
+ const groupItemPath = path.concat({
245
+ key: groupItemContent.key,
246
+ type: "GroupItem"
247
+ });
248
+ const traversedValue = [];
249
+ for (const [key, content] of groupItemContent.value) {
250
+ const model = config.model?.[key];
251
+ const traversedContent = traverseWidgetContent(groupItemPath.concat({
252
+ key,
253
+ type: "Widget"
254
+ }), key, key, content, {
255
+ model,
256
+ transformWidget
257
+ });
258
+ if (traversedContent && (isNestableContent(traversedContent) || traversedContent.__TYPE__ === "GroupContentType")) traversedValue.push([key, traversedContent]);
259
+ }
260
+ traversed.push({
261
+ ...groupItemContent,
262
+ value: traversedValue
263
+ });
264
+ }
265
+ return traversed;
266
+ }
267
+ function traverseRepeatableContent(path, key, apiID, content, config) {
268
+ const { model, transformWidget } = config;
269
+ const nonRepeatModel = model?.type === "Link" && model.config ? {
270
+ ...model,
271
+ config: {
272
+ ...model.config,
273
+ repeat: false
274
+ }
275
+ } : model;
276
+ const traversed = [];
277
+ for (let index = 0; index < content.value.length; index++) {
278
+ const traversedContent = traverseWidgetContent(path.concat({
279
+ key: index.toString(),
280
+ type: "Widget"
281
+ }), key, apiID, content.value[index], {
282
+ model: nonRepeatModel,
283
+ transformWidget
284
+ });
285
+ if (traversedContent && isRepeatableContentValue(traversedContent)) traversed.push(traversedContent);
286
+ }
287
+ return transformWidget({
288
+ path,
289
+ key,
290
+ apiID,
291
+ content: {
292
+ ...content,
293
+ value: traversed
294
+ },
295
+ model
296
+ });
297
+ }
298
+ function traverseTableContent(path, key, apiID, content, config) {
299
+ const { model, transformWidget } = config;
300
+ const traversed = [];
301
+ for (let rowIndex = 0; rowIndex < content.content.length; rowIndex++) {
302
+ const traversedContent = [];
303
+ for (let cellIndex = 0; cellIndex < content.content[rowIndex].content.length; cellIndex++) {
304
+ const cellPath = path.concat({
305
+ key: [rowIndex, cellIndex].join(","),
306
+ type: "Widget"
307
+ });
308
+ const cell = content.content[rowIndex].content[cellIndex];
309
+ const transformed = transformWidget({
310
+ path: cellPath,
311
+ key,
312
+ apiID,
313
+ content: cell.content,
314
+ model: TableCellModel
315
+ });
316
+ if (transformed && transformed.__TYPE__ === "StructuredTextContent") traversedContent.push({
317
+ ...cell,
318
+ content: transformed
319
+ });
320
+ else traversedContent.push({
321
+ ...cell,
322
+ content: {
323
+ __TYPE__: RichTextContentType,
324
+ value: []
325
+ }
326
+ });
327
+ }
328
+ traversed.push({
329
+ ...content.content[rowIndex],
330
+ content: traversedContent
331
+ });
332
+ }
333
+ return transformWidget({
334
+ path,
335
+ key,
336
+ apiID,
337
+ content: {
338
+ ...content,
339
+ content: traversed
340
+ },
341
+ model
342
+ });
343
+ }
344
+ function traverseWidgetContent(path, key, apiID, content, config) {
345
+ const { transformWidget = (args) => args.content, transformSlice = (args) => args.content } = config;
346
+ if (content.__TYPE__ === "SliceContentType") return traverseSlicesContent(path, key, apiID, content, {
347
+ transformWidget,
348
+ transformSlice,
349
+ model: config.model?.type === "Slices" || config.model?.type === "Choice" ? config.model : void 0
350
+ });
351
+ if (content.__TYPE__ === "GroupContentType") return traverseGroupContent(path, key, apiID, content, {
352
+ transformWidget,
353
+ model: config.model?.type === "Group" ? config.model : void 0
354
+ });
355
+ if (content.__TYPE__ === "RepeatableContent") return traverseRepeatableContent(path, key, apiID, content, {
356
+ transformWidget,
357
+ model: config.model?.type === "Link" ? config.model : void 0
358
+ });
359
+ if (content.__TYPE__ === "TableContent") return traverseTableContent(path, key, apiID, content, {
360
+ transformWidget,
361
+ model: config.model?.type === "Table" ? config.model : void 0
362
+ });
363
+ return transformWidget({
364
+ path,
365
+ key,
366
+ apiID,
367
+ content,
368
+ model: config.model?.type !== "Slices" && config.model?.type !== "Choice" && config.model?.type !== "Group" && config.model?.type !== "Table" ? config.model : void 0
369
+ });
370
+ }
371
+ //#endregion
372
+ export { traverseCompositeSliceContent, traverseDocumentContent, traverseGroupContent, traverseGroupItemsContent, traverseLegacySliceContent, traverseRepeatableContent, traverseSharedSliceContent, traverseSlicesContent, traverseTableContent };
373
+
374
+ //# sourceMappingURL=traverseContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseContent.js","names":["customTypeModel.flatten","contentPath.make","contentPath.append","contentPath.serialize"],"sources":["../../src/helpers/traverseContent.ts"],"sourcesContent":["import type { DocumentContent } from \"../content/document\"\nimport { GroupContentType } from \"../content/group\"\nimport type { GroupContent, GroupItemContent } from \"../content/group\"\nimport { isNestableContent } from \"../content/nestable\"\nimport { isRepeatableContentValue, RepeatableContentType } from \"../content/repeatable\"\nimport type { RepeatableContent } from \"../content/repeatable\"\nimport { RichTextContentType } from \"../content/richText\"\nimport { CompositeSliceContentType, SharedSliceContentType } from \"../content/slice\"\nimport type { CompositeSliceContent, SharedSliceContent } from \"../content/slice\"\nimport {\n\ttype CompositeSliceItemContent,\n\ttype SharedSliceItemContent,\n\ttype LegacySliceItemContent,\n\ttype SliceItemContent,\n\ttype SlicesContent,\n\tSlicesContentType,\n} from \"../content/slices\"\nimport { TableContentType, type TableContent } from \"../content/table\"\nimport type { WidgetContent } from \"../content/widget\"\nimport type { StaticCustomTypeModel } from \"../model/customType\"\nimport type { GroupModel, NestedGroupModel } from \"../model/group\"\nimport type { LinkModel } from \"../model/link\"\nimport type { NestableModel } from \"../model/nestable\"\nimport type {\n\tCompositeSliceModel,\n\tLegacySliceModel,\n\tSharedSliceModel,\n\tSharedSliceVariationContentModel,\n\tSliceContentModel,\n} from \"../model/slice\"\nimport type { StaticSlicesModel } from \"../model/slices\"\nimport { TableCellModel } from \"../model/table\"\nimport type { TableModel } from \"../model/table\"\nimport type { StaticWidgetModel } from \"../model/widget\"\nimport * as contentPath from \"./contentPath\"\nimport * as customTypeModel from \"./customTypeModel\"\n\ntype TraverseDocumentContentConfig = {\n\tmodel?: StaticCustomTypeModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseDocumentContent(\n\tdocument: DocumentContent,\n\tconfig: TraverseDocumentContentConfig,\n): DocumentContent {\n\tconst { model, transformWidget, transformSlice } = config\n\n\t// Remove tabs from custom type model\n\tconst flatModel = model ? customTypeModel.flatten(model) : {}\n\n\tconst traversed: DocumentContent = {}\n\tfor (const [key, content] of Object.entries(document)) {\n\t\tconst path = contentPath.make(\n\t\t\t{ key: config.model?.id, type: \"CustomType\" },\n\t\t\t{ key, type: \"Widget\" },\n\t\t)\n\n\t\tconst traversedContent = traverseWidgetContent(path, key, key, content, {\n\t\t\tmodel: flatModel[key],\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t})\n\t\tif (traversedContent) {\n\t\t\ttraversed[key] = traversedContent\n\t\t}\n\t}\n\n\treturn traversed\n}\n\ntype TraverseSlicesContentConfig = {\n\tmodel?: StaticSlicesModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseSlicesContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SlicesContent,\n\tconfig: TraverseSlicesContentConfig,\n): SlicesContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversed: SlicesContent[\"value\"] = []\n\tfor (const sliceItemContent of content.value) {\n\t\tconst sliceModel = config.model?.config?.choices?.[sliceItemContent.name]\n\n\t\tlet sliceContentModel: SliceContentModel | undefined\n\n\t\t// Happy path, content and model are both shared slices\n\t\tif (\n\t\t\tsliceItemContent.widget.__TYPE__ === SharedSliceContentType &&\n\t\t\tsliceModel?.type === \"SharedSlice\"\n\t\t) {\n\t\t\tconst variationID = sliceItemContent.widget.variation\n\t\t\tconst variationModel = sliceModel.variations.find((variation) => variation.id === variationID)\n\t\t\tif (variationModel) {\n\t\t\t\tsliceContentModel = {\n\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t\tsliceName: sliceModel.id,\n\t\t\t\t\tvariationID: variationModel.id,\n\t\t\t\t\tfields: {\n\t\t\t\t\t\tprimary: variationModel.primary || {},\n\t\t\t\t\t\titems: variationModel.items || {},\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Migrated path, content is composite or legacy, model is shared slice\n\t\tif (!sliceContentModel) {\n\t\t\tconst legacyPath = contentPath.append(contentPath.serialize(path), sliceItemContent.name)\n\n\t\t\t// Find the migrated slice model who's legacy path matches the content path\n\t\t\tconst migratedSliceModel = Object.values(config.model?.config?.choices || {}).find(\n\t\t\t\t(model): model is SharedSliceModel => {\n\t\t\t\t\treturn model.type === \"SharedSlice\" && Boolean(model.legacyPaths?.[legacyPath])\n\t\t\t\t},\n\t\t\t)\n\n\t\t\tif (migratedSliceModel) {\n\t\t\t\t// Find the variation that matches the legacy path\n\t\t\t\tconst variation = migratedSliceModel.variations.find((variation) => {\n\t\t\t\t\treturn variation.id === migratedSliceModel.legacyPaths?.[legacyPath]\n\t\t\t\t})\n\n\t\t\t\tif (variation) {\n\t\t\t\t\tsliceContentModel = {\n\t\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t\t\tsliceName: migratedSliceModel.id,\n\t\t\t\t\t\tvariationID: variation.id,\n\t\t\t\t\t\tfields: {\n\t\t\t\t\t\t\tprimary: variation.primary || {},\n\t\t\t\t\t\t\titems: variation.items || {},\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Non-migrated path, content and model are composite or legacy\n\t\tif (!sliceContentModel && sliceModel && sliceModel.type !== \"SharedSlice\") {\n\t\t\tsliceContentModel = sliceModel\n\t\t}\n\n\t\tlet traversedSliceItemContent: SliceItemContent | undefined\n\t\tif (sliceItemContent.widget.__TYPE__ === SharedSliceContentType) {\n\t\t\tconst model = sliceContentModel?.type === \"SharedSlice\" ? sliceContentModel : undefined\n\t\t\ttraversedSliceItemContent = traverseSharedSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"SharedSlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as SharedSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else if (sliceItemContent.widget.__TYPE__ === CompositeSliceContentType) {\n\t\t\tconst model =\n\t\t\t\tsliceContentModel?.type === \"Slice\" || sliceContentModel?.type === \"SharedSlice\"\n\t\t\t\t\t? sliceContentModel\n\t\t\t\t\t: undefined\n\t\t\ttraversedSliceItemContent = traverseCompositeSliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"Slice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as CompositeSliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t} else {\n\t\t\tconst model = sliceContentModel?.type !== \"Slice\" ? sliceContentModel : undefined\n\t\t\ttraversedSliceItemContent = traverseLegacySliceContent(\n\t\t\t\tpath.concat({ key: sliceItemContent.key, type: \"LegacySlice\" }),\n\t\t\t\tsliceItemContent.key,\n\t\t\t\tsliceItemContent.name,\n\t\t\t\tsliceItemContent as LegacySliceItemContent,\n\t\t\t\t{ model, transformWidget, transformSlice },\n\t\t\t)\n\t\t}\n\n\t\tif (traversedSliceItemContent) {\n\t\t\ttraversed.push(traversedSliceItemContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseSharedSliceContentConfig = {\n\tmodel?: SharedSliceVariationContentModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseSharedSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: SharedSliceItemContent,\n\tconfig: TraverseSharedSliceContentConfig,\n): SharedSliceItemContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst traversedPrimary: SharedSliceContent[\"primary\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.primary)) {\n\t\tconst model = config.model?.fields.primary?.[key]\n\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"primary\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tkey,\n\t\t\tfieldContent,\n\t\t\t{ model, transformWidget },\n\t\t)\n\n\t\tif (\n\t\t\ttraversedContent &&\n\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"items\", type: \"items\" }),\n\t\tcontent.widget.items,\n\t\t{ model: config.model?.fields.items, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, primary: traversedPrimary, items: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseCompositeSliceContentConfig = {\n\tmodel?: CompositeSliceModel | SharedSliceVariationContentModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseCompositeSliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: CompositeSliceItemContent,\n\tconfig: TraverseCompositeSliceContentConfig,\n): CompositeSliceItemContent | SharedSliceItemContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tconst primaryModel =\n\t\tconfig.model?.type === \"SharedSlice\"\n\t\t\t? config.model?.fields.primary\n\t\t\t: config.model?.[\"non-repeat\"]\n\tconst traversedPrimary: CompositeSliceContent[\"nonRepeat\"] = {}\n\tfor (const [key, fieldContent] of Object.entries(content.widget.nonRepeat)) {\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: \"non-repeat\", type: \"primary\" }, { key, type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tfieldContent,\n\t\t\t{ model: primaryModel?.[key], transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isNestableContent(traversedContent)) {\n\t\t\ttraversedPrimary[key] = traversedContent\n\t\t}\n\t}\n\n\tconst itemsModel =\n\t\tconfig.model?.type === \"SharedSlice\" ? config.model?.fields.items : config.model?.repeat\n\tconst traversedItems = traverseGroupItemsContent(\n\t\tpath.concat({ key: \"repeat\", type: \"items\" }),\n\t\tcontent.widget.repeat,\n\t\t{ model: itemsModel, transformWidget },\n\t)\n\n\treturn transformSlice({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: {\n\t\t\t...content,\n\t\t\twidget: { ...content.widget, nonRepeat: traversedPrimary, repeat: traversedItems },\n\t\t},\n\t\tmodel: config.model,\n\t})\n}\n\ntype TraverseLegacySliceContentConfig = {\n\tmodel?: LegacySliceModel | SharedSliceVariationContentModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nexport function traverseLegacySliceContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: LegacySliceItemContent,\n\tconfig: TraverseLegacySliceContentConfig,\n): LegacySliceItemContent | SharedSliceItemContent | undefined {\n\tconst {\n\t\tmodel,\n\t\ttransformWidget = (args) => args.content,\n\t\ttransformSlice = (args) => args.content,\n\t} = config\n\n\tlet legacySliceModel: LegacySliceModel | undefined\n\tif (content.widget.__TYPE__ === \"GroupContentType\") {\n\t\tif (model?.type === \"Group\") {\n\t\t\tlegacySliceModel = model\n\t\t} else if (model?.type === \"SharedSlice\") {\n\t\t\tlegacySliceModel = { type: \"Group\", config: { fields: model.fields.items } }\n\t\t}\n\t} else {\n\t\tif (model?.type === \"SharedSlice\") {\n\t\t\tlegacySliceModel = model.fields.primary?.[content.name]\n\t\t} else if (model?.type !== \"Group\") {\n\t\t\tlegacySliceModel = model\n\t\t}\n\t}\n\n\tconst traversedContent = traverseWidgetContent(path, key, apiID, content.widget, {\n\t\tmodel: legacySliceModel,\n\t\ttransformWidget,\n\t\ttransformSlice,\n\t})\n\n\tif (\n\t\ttraversedContent &&\n\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t) {\n\t\treturn transformSlice({\n\t\t\tpath,\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent: { ...content, widget: traversedContent },\n\t\t\tmodel,\n\t\t})\n\t}\n}\n\ntype TraverseGroupContentConfig = {\n\tmodel?: GroupModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: GroupContent,\n\tconfig: TraverseGroupContentConfig,\n): GroupContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed = traverseGroupItemsContent(path, content.value, {\n\t\tmodel: model?.config?.fields,\n\t\ttransformWidget,\n\t})\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseGroupItemsContentConfig = {\n\tmodel?: Record<string, NestedGroupModel | NestableModel>\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseGroupItemsContent(\n\tpath: contentPath.Path,\n\tcontent: GroupItemContent[],\n\tconfig: TraverseGroupItemsContentConfig,\n): GroupItemContent[] {\n\tconst { transformWidget } = config\n\n\tconst traversed: GroupItemContent[] = []\n\tfor (const groupItemContent of content) {\n\t\tconst groupItemPath = path.concat({ key: groupItemContent.key, type: \"GroupItem\" })\n\n\t\tconst traversedValue: GroupItemContent[\"value\"] = []\n\t\tfor (const [key, content] of groupItemContent.value) {\n\t\t\tconst model = config.model?.[key]\n\t\t\tconst traversedContent = traverseWidgetContent(\n\t\t\t\tgroupItemPath.concat({ key, type: \"Widget\" }),\n\t\t\t\tkey,\n\t\t\t\tkey,\n\t\t\t\tcontent,\n\t\t\t\t{ model, transformWidget },\n\t\t\t)\n\n\t\t\tif (\n\t\t\t\ttraversedContent &&\n\t\t\t\t(isNestableContent(traversedContent) || traversedContent.__TYPE__ === GroupContentType)\n\t\t\t) {\n\t\t\t\ttraversedValue.push([key, traversedContent])\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...groupItemContent, value: traversedValue })\n\t}\n\n\treturn traversed\n}\n\ntype TraverseRepeatableContentConfig = {\n\tmodel?: LinkModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseRepeatableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: RepeatableContent,\n\tconfig: TraverseRepeatableContentConfig,\n): RepeatableContent | undefined {\n\tconst { model, transformWidget } = config\n\tconst nonRepeatModel =\n\t\tmodel?.type === \"Link\" && model.config\n\t\t\t? { ...model, config: { ...model.config, repeat: false } }\n\t\t\t: model\n\n\tconst traversed: RepeatableContent[\"value\"] = []\n\tfor (let index = 0; index < content.value.length; index++) {\n\t\tconst traversedContent = traverseWidgetContent(\n\t\t\tpath.concat({ key: index.toString(), type: \"Widget\" }),\n\t\t\tkey,\n\t\t\tapiID,\n\t\t\tcontent.value[index],\n\t\t\t{ model: nonRepeatModel, transformWidget },\n\t\t)\n\n\t\tif (traversedContent && isRepeatableContentValue(traversedContent)) {\n\t\t\ttraversed.push(traversedContent)\n\t\t}\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, value: traversed },\n\t\tmodel,\n\t})\n}\n\ntype TraverseTableContentConfig = {\n\tmodel?: TableModel\n\ttransformWidget: TraverseWidgetContentFunction\n}\n\nexport function traverseTableContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: TableContent,\n\tconfig: TraverseTableContentConfig,\n): TableContent | undefined {\n\tconst { model, transformWidget } = config\n\n\tconst traversed: TableContent[\"content\"] = []\n\tfor (let rowIndex = 0; rowIndex < content.content.length; rowIndex++) {\n\t\tconst traversedContent: TableContent[\"content\"][number][\"content\"] = []\n\t\tfor (let cellIndex = 0; cellIndex < content.content[rowIndex].content.length; cellIndex++) {\n\t\t\tconst cellPath = path.concat({ key: [rowIndex, cellIndex].join(\",\"), type: \"Widget\" })\n\t\t\tconst cell = content.content[rowIndex].content[cellIndex]\n\n\t\t\tconst transformed = transformWidget({\n\t\t\t\tpath: cellPath,\n\t\t\t\tkey,\n\t\t\t\tapiID,\n\t\t\t\tcontent: cell.content,\n\t\t\t\tmodel: TableCellModel,\n\t\t\t})\n\n\t\t\tif (transformed && transformed.__TYPE__ === RichTextContentType) {\n\t\t\t\ttraversedContent.push({ ...cell, content: transformed })\n\t\t\t} else {\n\t\t\t\ttraversedContent.push({\n\t\t\t\t\t...cell,\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\t__TYPE__: RichTextContentType,\n\t\t\t\t\t\tvalue: [],\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\n\t\ttraversed.push({ ...content.content[rowIndex], content: traversedContent })\n\t}\n\n\treturn transformWidget({\n\t\tpath,\n\t\tkey,\n\t\tapiID,\n\t\tcontent: { ...content, content: traversed },\n\t\tmodel,\n\t})\n}\n\nexport type TraverseSliceContentFunction = <TContent extends SliceItemContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: SliceContentModel\n}) => TContent | SharedSliceItemContent | undefined\n\nexport type TraverseWidgetContentFunction<\n\tTContentTransformMode extends \"preserve\" | \"widen\" = \"preserve\",\n> = <TContent extends WidgetContent>(args: {\n\tpath: contentPath.Path\n\tkey: string\n\tapiID: string\n\tcontent: TContent\n\tmodel?: StaticWidgetModel\n}) => (TContentTransformMode extends \"preserve\" ? TContent : WidgetContent) | undefined\n\n// Internals\ntype TraverseWidgetContentConfig = {\n\tmodel?: StaticWidgetModel\n\ttransformWidget?: TraverseWidgetContentFunction\n\ttransformSlice?: TraverseSliceContentFunction\n}\n\nfunction traverseWidgetContent(\n\tpath: contentPath.Path,\n\tkey: string,\n\tapiID: string,\n\tcontent: WidgetContent,\n\tconfig: TraverseWidgetContentConfig,\n): WidgetContent | undefined {\n\tconst { transformWidget = (args) => args.content, transformSlice = (args) => args.content } =\n\t\tconfig\n\n\tif (content.__TYPE__ === SlicesContentType) {\n\t\tconst model =\n\t\t\tconfig.model?.type === \"Slices\" || config.model?.type === \"Choice\" ? config.model : undefined\n\t\treturn traverseSlicesContent(path, key, apiID, content, {\n\t\t\ttransformWidget,\n\t\t\ttransformSlice,\n\t\t\tmodel,\n\t\t})\n\t}\n\n\tif (content.__TYPE__ === GroupContentType) {\n\t\tconst model = config.model?.type === \"Group\" ? config.model : undefined\n\t\treturn traverseGroupContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === RepeatableContentType) {\n\t\tconst model = config.model?.type === \"Link\" ? config.model : undefined\n\t\treturn traverseRepeatableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tif (content.__TYPE__ === TableContentType) {\n\t\tconst model = config.model?.type === \"Table\" ? config.model : undefined\n\t\treturn traverseTableContent(path, key, apiID, content, { transformWidget, model })\n\t}\n\n\tconst model =\n\t\tconfig.model?.type !== \"Slices\" &&\n\t\tconfig.model?.type !== \"Choice\" &&\n\t\tconfig.model?.type !== \"Group\" &&\n\t\tconfig.model?.type !== \"Table\"\n\t\t\t? config.model\n\t\t\t: undefined\n\treturn transformWidget({ path, key, apiID, content, model })\n}\n"],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import { LinkModel } from "../model/link.js";
2
+ import { TableModel } from "../model/table.js";
3
+ import { NestableModel } from "../model/nestable.js";
4
+ import { GroupModel, NestedGroupModel } from "../model/group.js";
5
+ import { RepeatableContent } from "../content/repeatable.js";
6
+ import { TableContent } from "../content/table.js";
7
+ import { GroupContent, GroupItemContent } from "../content/group.js";
8
+ import { CompositeSliceItemContent, LegacySliceItemContent, SharedSliceItemContent, SliceItemContent, SlicesContent } from "../content/slices.js";
9
+ import { WidgetContent } from "../content/widget.js";
10
+ import { DocumentContent } from "../content/document.js";
11
+ import { CompositeSliceModel, LegacySliceModel, SharedSliceVariationContentModel, SliceContentModel } from "../model/slice.js";
12
+ import { StaticSlicesModel } from "../model/slices.js";
13
+ import { StaticWidgetModel } from "../model/widget.js";
14
+ import { StaticCustomTypeModel } from "../model/customType.js";
15
+ import { Path } from "./contentPath.js";
16
+
17
+ //#region src/helpers/traverseContentWithModel.d.ts
18
+ type TraverseDocumentContentWithModelConfig = {
19
+ model: StaticCustomTypeModel;
20
+ transformWidget?: TraverseWidgetContentWithModelFunction;
21
+ transformSlice?: TraverseSliceContentWithModelFunction;
22
+ };
23
+ declare function traverseDocumentContentWithModel(document: DocumentContent, config: TraverseDocumentContentWithModelConfig): DocumentContent;
24
+ type TraverseSlicesContentWithModelConfig = {
25
+ model: StaticSlicesModel;
26
+ transformWidget?: TraverseWidgetContentWithModelFunction;
27
+ transformSlice?: TraverseSliceContentWithModelFunction;
28
+ };
29
+ declare function traverseSlicesContentWithModel(path: Path, key: string, apiID: string, content: SlicesContent | undefined, config: TraverseSlicesContentWithModelConfig): SlicesContent | undefined;
30
+ type TraverseSharedSliceContentWithModelConfig = {
31
+ model: SharedSliceVariationContentModel;
32
+ transformWidget?: TraverseWidgetContentWithModelFunction;
33
+ transformSlice?: TraverseSliceContentWithModelFunction;
34
+ };
35
+ declare function traverseSharedSliceContentWithModel(path: Path, key: string, apiID: string, content: SharedSliceItemContent | undefined, config: TraverseSharedSliceContentWithModelConfig): SharedSliceItemContent | undefined;
36
+ type TraverseCompositeSliceContentWithModelConfig = {
37
+ model: CompositeSliceModel | SharedSliceVariationContentModel;
38
+ transformWidget?: TraverseWidgetContentWithModelFunction;
39
+ transformSlice?: TraverseSliceContentWithModelFunction;
40
+ };
41
+ declare function traverseCompositeSliceContentWithModel(path: Path, key: string, apiID: string, content: CompositeSliceItemContent | undefined, config: TraverseCompositeSliceContentWithModelConfig): CompositeSliceItemContent | SharedSliceItemContent | undefined;
42
+ type TraverseLegacySliceContentWithModelConfig = {
43
+ model: LegacySliceModel;
44
+ transformWidget?: TraverseWidgetContentWithModelFunction;
45
+ transformSlice?: TraverseSliceContentWithModelFunction;
46
+ };
47
+ declare function traverseLegacySliceContentWithModel(path: Path, key: string, apiID: string, content: LegacySliceItemContent | undefined, config: TraverseLegacySliceContentWithModelConfig): LegacySliceItemContent | SharedSliceItemContent | undefined;
48
+ type TraverseGroupContentWithModelConfig = {
49
+ model: GroupModel;
50
+ transformWidget: TraverseWidgetContentWithModelFunction;
51
+ };
52
+ declare function traverseGroupContentWithModel(path: Path, key: string, apiID: string, content: GroupContent | undefined, config: TraverseGroupContentWithModelConfig): GroupContent | undefined;
53
+ type TraverseGroupItemsContentWithModelConfig = {
54
+ model: Record<string, NestedGroupModel | NestableModel>;
55
+ transformWidget: TraverseWidgetContentWithModelFunction;
56
+ };
57
+ declare function traverseGroupItemsContentWithModel(path: Path, content: GroupItemContent[] | undefined, config: TraverseGroupItemsContentWithModelConfig): GroupItemContent[];
58
+ type TraverseRepeatableContentWithModelConfig = {
59
+ model: LinkModel;
60
+ transformWidget: TraverseWidgetContentWithModelFunction;
61
+ };
62
+ declare function traverseRepeatableContentWithModel(path: Path, key: string, apiID: string, content: RepeatableContent | undefined, config: TraverseRepeatableContentWithModelConfig): RepeatableContent | undefined;
63
+ type TraverseTableContentWithModelConfig = {
64
+ model: TableModel;
65
+ transformWidget: TraverseWidgetContentWithModelFunction;
66
+ };
67
+ declare function traverseTableContentWithModel(path: Path, key: string, apiID: string, content: TableContent | undefined, config: TraverseTableContentWithModelConfig): TableContent | undefined;
68
+ type TraverseSliceContentWithModelFunction = <TContent extends SliceItemContent>(args: {
69
+ path: Path;
70
+ key: string;
71
+ apiID: string;
72
+ content?: TContent;
73
+ model: SliceContentModel;
74
+ }) => TContent | SharedSliceItemContent | undefined;
75
+ type TraverseWidgetContentWithModelFunction<TContentTransformMode extends "preserve" | "widen" = "preserve"> = <TContent extends WidgetContent>(args: {
76
+ path: Path;
77
+ key: string;
78
+ apiID: string;
79
+ content?: TContent;
80
+ model: StaticWidgetModel;
81
+ }) => (TContentTransformMode extends "preserve" ? TContent : WidgetContent) | undefined;
82
+ //#endregion
83
+ export { TraverseSliceContentWithModelFunction, TraverseWidgetContentWithModelFunction, traverseCompositeSliceContentWithModel, traverseDocumentContentWithModel, traverseGroupContentWithModel, traverseGroupItemsContentWithModel, traverseLegacySliceContentWithModel, traverseRepeatableContentWithModel, traverseSharedSliceContentWithModel, traverseSlicesContentWithModel, traverseTableContentWithModel };
84
+ //# sourceMappingURL=traverseContentWithModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traverseContentWithModel.d.ts","names":[],"sources":["../../src/helpers/traverseContentWithModel.ts"],"mappings":";;;;;;;;;;;;;;;;;KAoCK,sCAAA;EACJ,KAAA,EAAO,qBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,gCAAA,CACf,QAAA,EAAU,eAAA,EACV,MAAA,EAAQ,sCAAA,GACN,eAAA;AAAA,KA0BE,oCAAA;EACJ,KAAA,EAAO,iBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,8BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,aAAA,cACT,MAAA,EAAQ,oCAAA,GACN,aAAA;AAAA,KAyGE,yCAAA;EACJ,KAAA,EAAO,gCAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA;AAAA,KA4CE,4CAAA;EACJ,KAAA,EAAO,mBAAA,GAAsB,gCAAA;EAC7B,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,sCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,yBAAA,cACT,MAAA,EAAQ,4CAAA,GACN,yBAAA,GAA4B,sBAAA;AAAA,KA+C1B,yCAAA;EACJ,KAAA,EAAO,gBAAA;EACP,eAAA,GAAkB,sCAAA;EAClB,cAAA,GAAiB,qCAAA;AAAA;AAAA,iBAGF,mCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,sBAAA,cACT,MAAA,EAAQ,yCAAA,GACN,sBAAA,GAAyB,sBAAA;AAAA,KA+BvB,mCAAA;EACJ,KAAA,EAAO,UAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,cACT,MAAA,EAAQ,mCAAA,GACN,YAAA;AAAA,KA0BE,wCAAA;EACJ,KAAA,EAAO,MAAA,SAAe,gBAAA,GAAmB,aAAA;EACzC,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,kCAAA,CACf,IAAA,EAAM,IAAA,EACN,OAAA,EAAS,gBAAA,gBACT,MAAA,EAAQ,wCAAA,GACN,gBAAA;AAAA,KAoCE,wCAAA;EACJ,KAAA,EAAO,SAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,kCAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,iBAAA,cACT,MAAA,EAAQ,wCAAA,GACN,iBAAA;AAAA,KAyCE,mCAAA;EACJ,KAAA,EAAO,UAAA;EACP,eAAA,EAAiB,sCAAA;AAAA;AAAA,iBAGF,6BAAA,CACf,IAAA,EAAM,IAAA,EACN,GAAA,UACA,KAAA,UACA,OAAA,EAAS,YAAA,cACT,MAAA,EAAQ,mCAAA,GACN,YAAA;AAAA,KAoDS,qCAAA,qBAA0D,gBAAA,EAAkB,IAAA;EACvF,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,iBAAA;AAAA,MACF,QAAA,GAAW,sBAAA;AAAA,KAEL,sCAAA,sFAEU,aAAA,EAAe,IAAA;EACpC,IAAA,EAAM,IAAA;EACN,GAAA;EACA,KAAA;EACA,OAAA,GAAU,QAAA;EACV,KAAA,EAAO,iBAAA;AAAA,OACD,qBAAA,sBAA2C,QAAA,GAAW,aAAA"}