@prismicio/types-internal 3.17.0 → 4.0.0-canary.3fe5f1e

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 +36 -20
  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 +15 -0
  201. package/dist/helpers/customTypeModel.d.ts.map +1 -0
  202. package/dist/helpers/customTypeModel.js +85 -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 +113 -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,194 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { NonEmptyStringSchema } from "../../common/nonEmptyString"
4
+
5
+ export const LinkKind = {
6
+ Image: "image",
7
+ File: "file",
8
+ Media: "media",
9
+ Document: "document",
10
+ External: "web",
11
+ Any: "any",
12
+ } as const
13
+
14
+ export const LinkType = {
15
+ Image: "ImageLink",
16
+ File: "FileLink",
17
+ Document: "DocumentLink",
18
+ External: "ExternalLink",
19
+ Media: "MediaLink",
20
+ Any: "AnyLink",
21
+ } as const
22
+
23
+ // Image
24
+ export const FilledImageLinkValueLegacySchema = z.strictObject({
25
+ // `kind` was normalized to the literal (legacy behavior)
26
+ kind: z.pipe(
27
+ z.string(),
28
+ z.transform(() => LinkKind.Image),
29
+ ),
30
+ id: z.string(),
31
+ url: z.string(),
32
+ height: z.string(),
33
+ width: z.string(),
34
+ size: z.string(),
35
+ name: z.string(),
36
+ date: z.nullish(z.string()),
37
+ })
38
+
39
+ export const EmptyImageLinkValueLegacySchema = z.strictObject({
40
+ kind: z.literal(LinkKind.Image),
41
+ })
42
+
43
+ // File
44
+ export const FilledFileLinkValueLegacySchema = z.strictObject({
45
+ // `kind` was normalized to the literal (legacy behavior)
46
+ kind: z.pipe(
47
+ z.string(),
48
+ z.transform(() => LinkKind.File),
49
+ ),
50
+ id: z.string(),
51
+ url: z.string(),
52
+ name: z.string(),
53
+ size: z.transform((value) => (typeof value === "string" ? value : "0")),
54
+ date: z.nullish(z.string()),
55
+ })
56
+
57
+ export const EmptyFileLinkValueLegacySchema = z.strictObject({
58
+ kind: z.literal(LinkKind.File),
59
+ })
60
+
61
+ // Media
62
+
63
+ // Media link only represent the empty state as they turn into
64
+ // file or image links when they filled.
65
+ export const EmptyMediaLinkValueLegacySchema = z.strictObject({
66
+ kind: z.literal(LinkKind.Media),
67
+ })
68
+
69
+ // Document
70
+ export const FilledDocumentLinkValueLegacySchema = z.strictObject({
71
+ // `kind` is not part of the filled schema... (legacy behavior)
72
+ // We transform it to the literal for consistency.
73
+ kind: z.pipe(
74
+ z.optional(z.literal(LinkKind.Document)),
75
+ z.transform(() => LinkKind.Document),
76
+ ),
77
+ id: NonEmptyStringSchema,
78
+ })
79
+
80
+ export const EmptyDocumentLinkValueLegacySchema = z.strictObject({
81
+ kind: z.literal(LinkKind.Document),
82
+ })
83
+
84
+ // External
85
+ export const FilledExternalLinkValueLegacySchema = z.strictObject({
86
+ // It's odd that `kind` is optional here... (legacy behavior)
87
+ // We transform it to the literal for consistency.
88
+ kind: z.pipe(
89
+ z.optional(z.literal(LinkKind.External)),
90
+ z.transform(() => LinkKind.External),
91
+ ),
92
+ url: z.string(),
93
+ target: z.nullish(z.string()),
94
+ preview: z.nullish(
95
+ z.strictObject({
96
+ title: z.optional(z.string()),
97
+ }),
98
+ ),
99
+ })
100
+
101
+ export const EmptyExternalLinkValueLegacySchema = z.strictObject({
102
+ kind: z.literal(LinkKind.External),
103
+ })
104
+
105
+ // Any
106
+ export const AnyLinkLegacySchema = z.strictObject({
107
+ kind: z.transform(() => LinkKind.Any),
108
+ })
109
+
110
+ // All
111
+
112
+ export const FilledLinkValueLegacySchema: z.ZodMiniType<FilledLinkValueLegacy> = z.union([
113
+ FilledImageLinkValueLegacySchema,
114
+ FilledFileLinkValueLegacySchema,
115
+ FilledDocumentLinkValueLegacySchema,
116
+ FilledExternalLinkValueLegacySchema,
117
+ ])
118
+
119
+ type FilledImageLinkValueLegacy = z.infer<typeof FilledImageLinkValueLegacySchema>
120
+ type FilledFileLinkValueLegacy = z.infer<typeof FilledFileLinkValueLegacySchema>
121
+ type FilledDocumentLinkValueLegacy = z.infer<typeof FilledDocumentLinkValueLegacySchema>
122
+ type FilledExternalLinkValueLegacy = z.infer<typeof FilledExternalLinkValueLegacySchema>
123
+ export type FilledLinkValueLegacy =
124
+ | FilledImageLinkValueLegacy
125
+ | FilledFileLinkValueLegacy
126
+ | FilledDocumentLinkValueLegacy
127
+ | FilledExternalLinkValueLegacy
128
+
129
+ const EmptyLinkValueLegacySchema: z.ZodMiniType<EmptyLinkValueLegacy> = z.union([
130
+ EmptyImageLinkValueLegacySchema,
131
+ EmptyFileLinkValueLegacySchema,
132
+ EmptyMediaLinkValueLegacySchema,
133
+ EmptyDocumentLinkValueLegacySchema,
134
+ EmptyExternalLinkValueLegacySchema,
135
+ AnyLinkLegacySchema,
136
+ ])
137
+
138
+ type EmptyImageLinkValueLegacy = z.infer<typeof EmptyImageLinkValueLegacySchema>
139
+ type EmptyFileLinkValueLegacy = z.infer<typeof EmptyFileLinkValueLegacySchema>
140
+ type EmptyMediaLinkValueLegacy = z.infer<typeof EmptyMediaLinkValueLegacySchema>
141
+ type EmptyDocumentLinkValueLegacy = z.infer<typeof EmptyDocumentLinkValueLegacySchema>
142
+ type EmptyExternalLinkValueLegacy = z.infer<typeof EmptyExternalLinkValueLegacySchema>
143
+ type AnyLinkLegacy = z.infer<typeof AnyLinkLegacySchema>
144
+ export type EmptyLinkValueLegacy =
145
+ | EmptyImageLinkValueLegacy
146
+ | EmptyFileLinkValueLegacy
147
+ | EmptyMediaLinkValueLegacy
148
+ | EmptyDocumentLinkValueLegacy
149
+ | EmptyExternalLinkValueLegacy
150
+ | AnyLinkLegacy
151
+
152
+ const LinkValueLegacySchema: z.ZodMiniType<LinkValueLegacy> = z.union([
153
+ FilledLinkValueLegacySchema,
154
+ EmptyLinkValueLegacySchema,
155
+ ])
156
+
157
+ export type LinkValueLegacy = FilledLinkValueLegacy | EmptyLinkValueLegacy
158
+
159
+ // We cannot use z.extend here because we're working with unions.
160
+ // z.intersection wouldn't work also for the same reason.
161
+ export const LinkLegacySchema = z.pipe(
162
+ z.pipe(
163
+ z.pipe(
164
+ z.record(z.string(), z.unknown()),
165
+ z.transform(
166
+ ({
167
+ key,
168
+ text,
169
+ variant,
170
+ ...value
171
+ }): {
172
+ key?: unknown
173
+ text?: unknown
174
+ variant?: unknown
175
+ value: Record<string, unknown>
176
+ } => ({ key, text, variant, value }),
177
+ ),
178
+ ),
179
+ z.object({
180
+ key: z.optional(z.string()),
181
+ text: z.optional(z.string()),
182
+ variant: z.optional(z.string()),
183
+ value: LinkValueLegacySchema as z.ZodMiniType<LinkValueLegacy, Record<string, unknown>>,
184
+ }),
185
+ ),
186
+ z.transform(({ key, text, variant, value }) => ({
187
+ key: z.uuidv4().safeParse(key).data ?? crypto.randomUUID(),
188
+ ...(text ? { text } : {}),
189
+ ...(variant ? { variant } : {}),
190
+ ...value,
191
+ })),
192
+ )
193
+
194
+ export type LinkLegacy = z.infer<typeof LinkLegacySchema>
@@ -0,0 +1,55 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import type { BooleanLegacy } from "./boolean"
4
+ import { BooleanLegacySchema } from "./boolean"
5
+ import type { EmbedLegacy } from "./embed"
6
+ import { EmbedLegacyLooseSchema } from "./embed"
7
+ import type { EmptyLegacy } from "./empty"
8
+ import { EmptyLegacySchema } from "./empty"
9
+ import type { StringLegacy } from "./field"
10
+ import { StringLegacySchema } from "./field"
11
+ import type { GeoPointLegacy } from "./geopoint"
12
+ import { GeoPointLegacySchema } from "./geopoint"
13
+ import type { ImageLegacy } from "./image"
14
+ import { ImageLegacySchema } from "./image"
15
+ import type { IntegrationFieldLegacy } from "./integrationField"
16
+ import { IntegrationFieldLegacySchema } from "./integrationField"
17
+ import type { LinkLegacy } from "./link"
18
+ import { LinkLegacySchema } from "./link"
19
+ import type { RepeatableLegacy } from "./repeatable"
20
+ import { RepeatableLegacySchema } from "./repeatable"
21
+ import type { RichTextLegacy } from "./richText"
22
+ import { RichTextLegacySchema } from "./richText"
23
+ import type { SeparatorLegacy } from "./separator"
24
+ import { SeparatorLegacySchema } from "./separator"
25
+ import type { TableLegacy } from "./table"
26
+ import { TableLegacySchema } from "./table"
27
+
28
+ export const NestableLegacySchema: z.ZodMiniType<NestableLegacy> = z.union([
29
+ EmptyLegacySchema,
30
+ BooleanLegacySchema,
31
+ EmbedLegacyLooseSchema,
32
+ StringLegacySchema,
33
+ GeoPointLegacySchema,
34
+ ImageLegacySchema,
35
+ IntegrationFieldLegacySchema,
36
+ LinkLegacySchema,
37
+ RepeatableLegacySchema,
38
+ RichTextLegacySchema,
39
+ SeparatorLegacySchema,
40
+ TableLegacySchema,
41
+ ])
42
+
43
+ export type NestableLegacy =
44
+ | EmptyLegacy
45
+ | BooleanLegacy
46
+ | EmbedLegacy
47
+ | StringLegacy
48
+ | GeoPointLegacy
49
+ | ImageLegacy
50
+ | IntegrationFieldLegacy
51
+ | LinkLegacy
52
+ | RepeatableLegacy
53
+ | RichTextLegacy
54
+ | SeparatorLegacy
55
+ | TableLegacy
@@ -0,0 +1,7 @@
1
+ import { z } from "zod/mini"
2
+
3
+ // Keep the legacy schema non-lossy; item-level link decoding lives in
4
+ // `codec/repeatable.ts`, where the field model is available.
5
+ export const RepeatableLegacySchema = z.array(z.unknown())
6
+
7
+ export type RepeatableLegacy = z.infer<typeof RepeatableLegacySchema>
@@ -0,0 +1,198 @@
1
+ import { z } from "zod/mini"
2
+
3
+ // It's important to only import the types here to
4
+ // avoid runtime circular dependencies!
5
+ import type { EmbedContentSchema } from "../embed"
6
+ import type { ImageViewContentSchema } from "../image"
7
+ import type { FilledLinkValueContent, FilledLinkValueContentSchema } from "../link"
8
+ import { EmbedLegacyLooseSchema } from "./embed"
9
+ import { ImageViewLegacySchema } from "./image"
10
+ import { FilledLinkValueLegacySchema } from "./link"
11
+ import type { FilledLinkValueLegacy } from "./link"
12
+
13
+ export const RichTextNodeType = {
14
+ paragraph: "paragraph",
15
+ heading1: "heading1",
16
+ heading2: "heading2",
17
+ heading3: "heading3",
18
+ heading4: "heading4",
19
+ heading5: "heading5",
20
+ heading6: "heading6",
21
+ preformatted: "preformatted",
22
+ oListItem: "o-list-item",
23
+ listItem: "list-item",
24
+ image: "image",
25
+ embed: "embed",
26
+ hyperlink: "hyperlink",
27
+ strong: "strong",
28
+ em: "em",
29
+ } as const
30
+
31
+ // Spans
32
+ type HyperlinkSpan<TData extends FilledLinkValueLegacy | FilledLinkValueContent> = {
33
+ type: typeof RichTextNodeType.hyperlink
34
+ start: number
35
+ end: number
36
+ data: TData
37
+ }
38
+
39
+ const getHyperlinkSpanSchema = <
40
+ TData extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
41
+ >(
42
+ data: TData,
43
+ ) =>
44
+ z.object({
45
+ type: z.literal(RichTextNodeType.hyperlink),
46
+ start: z.number(),
47
+ end: z.number(),
48
+ data,
49
+ })
50
+
51
+ type LabelSpan = {
52
+ type: "label"
53
+ start: number
54
+ end: number
55
+ data: string
56
+ }
57
+
58
+ const LabelSpanSchema: z.ZodMiniType<LabelSpan> = z.object({
59
+ type: z.literal("label"),
60
+ start: z.number(),
61
+ end: z.number(),
62
+ data: z.pipe(
63
+ z.unknown(),
64
+ z.transform((value) => (typeof value === "string" && value.length > 0 ? value : "")),
65
+ ),
66
+ })
67
+
68
+ type BasicSpan = {
69
+ type: typeof RichTextNodeType.strong | typeof RichTextNodeType.em | "list-item"
70
+ start: number
71
+ end: number
72
+ }
73
+
74
+ const BasicSpanSchema: z.ZodMiniType<BasicSpan> = z.object({
75
+ type: z.union([
76
+ z.literal(RichTextNodeType.strong),
77
+ z.literal(RichTextNodeType.em),
78
+ z.literal("list-item"), // legacy case
79
+ ]),
80
+ start: z.number(),
81
+ end: z.number(),
82
+ })
83
+
84
+ export type Span<TLink extends FilledLinkValueLegacy | FilledLinkValueContent> =
85
+ | HyperlinkSpan<TLink>
86
+ | LabelSpan
87
+ | BasicSpan
88
+
89
+ // oxlint-disable-next-line explicit-module-boundary-types
90
+ export const getSpanSchema = <
91
+ TLinkSchema extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
92
+ >(
93
+ linkSchema: TLinkSchema,
94
+ ) => z.union([getHyperlinkSpanSchema(linkSchema), LabelSpanSchema, BasicSpanSchema])
95
+
96
+ // Text blocks
97
+ const TextBlockTypeSchema = z.union([
98
+ z.literal(RichTextNodeType.paragraph),
99
+ z.literal(RichTextNodeType.heading1),
100
+ z.literal(RichTextNodeType.heading2),
101
+ z.literal(RichTextNodeType.heading3),
102
+ z.literal(RichTextNodeType.heading4),
103
+ z.literal(RichTextNodeType.heading5),
104
+ z.literal(RichTextNodeType.heading6),
105
+ z.literal(RichTextNodeType.preformatted),
106
+ z.literal(RichTextNodeType.oListItem),
107
+ z.literal(RichTextNodeType.listItem),
108
+ ])
109
+
110
+ // oxlint-disable-next-line explicit-module-boundary-types
111
+ export const getTextBlockSchema = <
112
+ TLinkSchema extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
113
+ >(
114
+ linkSchema: TLinkSchema,
115
+ ) =>
116
+ z.object({
117
+ type: TextBlockTypeSchema,
118
+ content: z.object({
119
+ text: z.string(),
120
+ spans: z.optional(
121
+ z.pipe(
122
+ z.array(z.unknown()),
123
+ z.transform((spans) => {
124
+ const spanSchema = getSpanSchema(linkSchema)
125
+
126
+ // Filter out invalid spans and order them by start position
127
+ return spans
128
+ .flatMap((maybeSpan) => {
129
+ const parsed = spanSchema.safeParse(maybeSpan)
130
+ return parsed.success ? [parsed.data] : []
131
+ })
132
+ .sort((a, b) => a.start - b.start)
133
+ }),
134
+ ),
135
+ ),
136
+ }),
137
+ label: z.optional(z.string()),
138
+ direction: z.optional(z.string()),
139
+ })
140
+
141
+ const TextBlockLegacySchema = getTextBlockSchema(FilledLinkValueLegacySchema)
142
+
143
+ type TextBlockLegacy = z.infer<typeof TextBlockLegacySchema>
144
+
145
+ // Image block
146
+
147
+ // oxlint-disable-next-line explicit-module-boundary-types
148
+ export const getImageBlockSchema = <
149
+ TData extends typeof ImageViewLegacySchema | typeof ImageViewContentSchema,
150
+ TLinkTo extends typeof FilledLinkValueLegacySchema | typeof FilledLinkValueContentSchema,
151
+ >(
152
+ data: TData,
153
+ linkTo: TLinkTo,
154
+ ) =>
155
+ z.object({
156
+ type: z.literal(RichTextNodeType.image),
157
+ data: z.extend(data, { linkTo: z.nullish(linkTo) }),
158
+ label: z.nullish(z.string()),
159
+ direction: z.nullish(z.string()),
160
+ })
161
+
162
+ const ImageBlockLegacySchema = getImageBlockSchema(
163
+ ImageViewLegacySchema,
164
+ FilledLinkValueLegacySchema,
165
+ )
166
+
167
+ type ImageBlockLegacy = z.infer<typeof ImageBlockLegacySchema>
168
+
169
+ // Embed block
170
+ // oxlint-disable-next-line explicit-module-boundary-types
171
+ export const getEmbedBlockSchema = <
172
+ TData extends typeof EmbedLegacyLooseSchema | typeof EmbedContentSchema,
173
+ >(
174
+ data: TData,
175
+ ) =>
176
+ z.object({
177
+ type: z.literal(RichTextNodeType.embed),
178
+ data,
179
+ label: z.nullish(z.string()),
180
+ direction: z.nullish(z.string()),
181
+ })
182
+
183
+ const EmbedBlockLegacySchema = getEmbedBlockSchema(EmbedLegacyLooseSchema)
184
+
185
+ type EmbedBlockLegacy = z.infer<typeof EmbedBlockLegacySchema>
186
+
187
+ // Blocks
188
+ export const RichTextLegacyBlockSchema: z.ZodMiniType<RichTextLegacyBlock> = z.union([
189
+ TextBlockLegacySchema,
190
+ ImageBlockLegacySchema,
191
+ EmbedBlockLegacySchema,
192
+ ])
193
+
194
+ export type RichTextLegacyBlock = TextBlockLegacy | ImageBlockLegacy | EmbedBlockLegacy
195
+
196
+ export const RichTextLegacySchema = z.array(RichTextLegacyBlockSchema)
197
+
198
+ export type RichTextLegacy = z.infer<typeof RichTextLegacySchema>
@@ -0,0 +1,6 @@
1
+ import { z } from "zod/mini"
2
+
3
+ // v3 SeparatorLegacy decode accepts any input and normalizes to SeparatorContent.
4
+ export const SeparatorLegacySchema = z.unknown()
5
+
6
+ export type SeparatorLegacy = z.infer<typeof SeparatorLegacySchema>
@@ -0,0 +1,38 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { GroupItemLegacySchema, NestableAndGroupLegacySchema } from "./group"
4
+
5
+ // Legacy (before 2020)
6
+ export const LegacySliceLegacySchema = NestableAndGroupLegacySchema
7
+
8
+ export type LegacySliceLegacy = z.infer<typeof LegacySliceLegacySchema>
9
+
10
+ // Composite (2020 to 2021)
11
+ // Keep non-repeat values raw here: array-shaped legacy payloads are ambiguous until
12
+ // `codec/slice.ts` resolves the field model and picks the right decoder.
13
+ export const CompositeSliceLegacySchema = z.object({
14
+ "non-repeat": z.optional(z.record(z.string(), z.unknown())),
15
+ repeat: z.optional(z.array(GroupItemLegacySchema)),
16
+ })
17
+
18
+ export type CompositeSliceLegacy = z.infer<typeof CompositeSliceLegacySchema>
19
+
20
+ // Shared (2021 to present)
21
+ // Keep primary values raw here: array-shaped legacy payloads are ambiguous until
22
+ // `codec/slice.ts` resolves the field model and picks the right decoder.
23
+ export const SharedSliceLegacySchema = z.object({
24
+ variation: z.string(),
25
+ primary: z.transform((value) => z.record(z.string(), z.unknown()).safeParse(value).data || {}),
26
+ items: z.transform((value) => z.array(GroupItemLegacySchema).safeParse(value).data || []),
27
+ })
28
+
29
+ export type SharedSliceLegacy = z.infer<typeof SharedSliceLegacySchema>
30
+
31
+ // All
32
+ export const SliceLegacySchema: z.ZodMiniType<SliceLegacy> = z.union([
33
+ LegacySliceLegacySchema,
34
+ CompositeSliceLegacySchema,
35
+ SharedSliceLegacySchema,
36
+ ])
37
+
38
+ export type SliceLegacy = LegacySliceLegacy | CompositeSliceLegacy | SharedSliceLegacy
@@ -0,0 +1,17 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import { SliceLegacySchema } from "./slice"
4
+
5
+ // Item
6
+ export const SliceItemLegacySchema = z.object({
7
+ key: z.string(),
8
+ label: z.nullish(z.string()),
9
+ value: SliceLegacySchema,
10
+ })
11
+
12
+ export type SliceItemLegacy = z.infer<typeof SliceItemLegacySchema>
13
+
14
+ // Slices
15
+ export const SlicesLegacySchema = z.array(SliceItemLegacySchema)
16
+
17
+ export type SlicesLegacy = z.infer<typeof SlicesLegacySchema>
@@ -0,0 +1,39 @@
1
+ import { z } from "zod/mini"
2
+
3
+ // It's important to only import the types here to
4
+ // avoid runtime circular dependencies!
5
+ import type { RichTextContentSchema } from "../richText"
6
+ import { RichTextLegacySchema } from "./richText"
7
+
8
+ // Cell
9
+ const getTableCellSchema = <
10
+ TContent extends typeof RichTextLegacySchema | typeof RichTextContentSchema,
11
+ >(
12
+ content: TContent,
13
+ ) =>
14
+ z.object({
15
+ key: z.transform((value) => z.uuidv4().safeParse(value).data || crypto.randomUUID()),
16
+ type: z.union([z.literal("tableHeader"), z.literal("tableCell")]),
17
+ content,
18
+ columnWidth: z.optional(z.number()),
19
+ })
20
+
21
+ // Row
22
+ // oxlint-disable-next-line explicit-module-boundary-types
23
+ export const getTableRowSchema = <
24
+ TRichText extends typeof RichTextLegacySchema | typeof RichTextContentSchema,
25
+ >(
26
+ richTextSchema: TRichText,
27
+ ) =>
28
+ z.strictObject({
29
+ key: z.transform((value) => z.uuidv4().safeParse(value).data || crypto.randomUUID()),
30
+ type: z.literal("tableRow"),
31
+ content: z.array(getTableCellSchema(richTextSchema)),
32
+ })
33
+
34
+ // Table
35
+ export const TableLegacySchema = z.strictObject({
36
+ content: z.array(getTableRowSchema(RichTextLegacySchema)),
37
+ })
38
+
39
+ export type TableLegacy = z.infer<typeof TableLegacySchema>
@@ -0,0 +1,6 @@
1
+ import { z } from "zod/mini"
2
+
3
+ // TODO: Can't we add business logic UID shape validation here? (not uniqueness but format)
4
+ export const UIDLegacySchema = z.string()
5
+
6
+ export type UIDLegacy = z.infer<typeof UIDLegacySchema>
@@ -0,0 +1,19 @@
1
+ import { z } from "zod/mini"
2
+
3
+ import type { GroupLegacy } from "./group"
4
+ import { GroupLegacySchema } from "./group"
5
+ import type { NestableLegacy } from "./nestable"
6
+ import { NestableLegacySchema } from "./nestable"
7
+ import type { SlicesLegacy } from "./slices"
8
+ import { SlicesLegacySchema } from "./slices"
9
+ import type { UIDLegacy } from "./uid"
10
+ import { UIDLegacySchema } from "./uid"
11
+
12
+ export const WidgetLegacySchema: z.ZodMiniType<WidgetLegacy> = z.union([
13
+ UIDLegacySchema,
14
+ GroupLegacySchema,
15
+ SlicesLegacySchema,
16
+ NestableLegacySchema,
17
+ ])
18
+
19
+ export type WidgetLegacy = UIDLegacy | GroupLegacy | SlicesLegacy | NestableLegacy